RTC Toolkit 6.0.0
Loading...
Searching...
No Matches
rtctk::telSub Namespace Reference

Namespaces

namespace  CorrelationStatus
 

Classes

class  AgnosticDataSamples
 Container of DDS samples and associated sample information. More...
 
class  BlenderErrorCategory
 Error category for blender errors. More...
 
class  BusinessLogic
 Implements the Telemetry Subscriber business logic. More...
 
struct  CorrelationFailedError
 
class  Correlator
 Implements a correlator. More...
 
class  CorrelatorIf
 Interface for correlator implemementations that takes new data samples from DDS and performs correlation on them. More...
 
struct  CorrelatorParams
 Placeholder for correlator parameters. More...
 
struct  DataSamplesView
 A set of correlated agnostic non-owning data samples references. More...
 
struct  DataSampleView
 Agnostic data sample non-owning reference type. More...
 
struct  DdsParams
 Parameter set to be passed to classes deriving from DdsWaitSetIf. More...
 
class  DdsReaderListener
 Listener class for different DDS events. More...
 
struct  DdsTopicOptions
 Options for a single topic. More...
 
class  DdsWaitSet
 Implements DDS communication using FastDDS. More...
 
struct  DdsWaitSetError
 Error reporting struct, contains the return code and topic where the error occurred. More...
 
class  DdsWaitSetIf
 Base class abstracting DDS communication code. More...
 
class  FakeDdsSubscriber
 Fake DDS subscriber. More...
 
struct  MockCorrelatorIf
 
struct  MockDdsWaitSet
 
struct  MockShmPublisherIf
 
class  OperationalLogic
 Implements the behaviour for Operational state. More...
 
struct  OperationalLogicFactoryParams
 Set of all parameters needed when constructing the OperationalLogic object. More...
 
class  OperationalLogicIf
 Interface to the operational logic implementation. More...
 
struct  OperationalParams
 Configuration parameters needed for operational logic. More...
 
class  SeqLoanerIf
 Loaner interface. More...
 
struct  ShmParams
 Shared memory configuration parameters. More...
 
class  ShmPublisher
 
class  ShmPublisherIf
 Simple interface to class that owns the shared memory queue. More...
 

Typedefs

using DdsSample = rtctk::componentFramework::AgnosticTopic
 
using DdsSampleSeq = rtctk::componentFramework::AgnosticTopicSeq
 
using DdsInfoSeq = rtctk::componentFramework::SampleInfoSeq
 
using LifeCycle = rtctk::componentFramework::Runnable<rtctk::componentFramework::RtcComponent>
 
using CorrelationError = std::variant<CorrelationFailedError, DdsWaitSetError>
 

Enumerations

enum class  GenericBlenderError : std::uint8_t {
  GenericBlenderError::Success = 0 , GenericBlenderError::MissingTopic , GenericBlenderError::SizeMismatch , GenericBlenderError::InvalidFormat ,
  GenericBlenderError::UnknownError
}
 Error codes for blender-related errors. More...
 
enum class  InternalError : uint8_t { LUT_ENTRY_NOT_FOUND }
 For internal errors. More...
 

Functions

const std::error_category & GetBlenderErrorCategory () noexcept
 Returns a reference to the global blender error category instance.
 
std::error_code MakeBlenderError (GenericBlenderError e) noexcept
 Creates an error_code for a blender error.
 
std::ostream & operator<< (std::ostream &stream, const std::vector< std::string > &data)
 A specialisation of the stream output operator to handle vectors of strings.
 
template<class UserTopicType, class DataBlender>
void Main (const rtctk::componentFramework::Args &args, DataBlender &&blender)
 Main entrypoint for running telemetry subscriber.
 
template<class UserTopicType, class DataBlender, class ShmWriter>
auto MakeShmPublisher (ShmWriter &&shm_writer, DataBlender &blender) -> std::unique_ptr< ShmPublisher< UserTopicType, DataBlender, ShmWriter > >
 Helper that can deduce DataBlender class template argument.
 

Typedef Documentation

◆ CorrelationError

◆ DdsInfoSeq

using rtctk::telSub::DdsInfoSeq = rtctk::componentFramework::SampleInfoSeq

◆ DdsSample

using rtctk::telSub::DdsSample = rtctk::componentFramework::AgnosticTopic

◆ DdsSampleSeq

using rtctk::telSub::DdsSampleSeq = rtctk::componentFramework::AgnosticTopicSeq

◆ LifeCycle

Enumeration Type Documentation

◆ InternalError

enum class rtctk::telSub::InternalError : uint8_t
strong

For internal errors.

Enumerator
LUT_ENTRY_NOT_FOUND 

Function Documentation

◆ GetBlenderErrorCategory()

const std::error_category & rtctk::telSub::GetBlenderErrorCategory ( )
noexcept

Returns a reference to the global blender error category instance.

This function provides access to the singleton error category used for blender errors.

Returns
A reference to the global BlenderErrorCategory instance.
Example:
// Direct usage
const std::error_category& cat = GetBlenderErrorCategory();
// Creating an error code
std::error_code ec(static_cast<int>(BlenderError::SizeMismatch), GetBlenderErrorCategory());
const std::error_category & GetBlenderErrorCategory() noexcept
Returns a reference to the global blender error category instance.
Definition blenderError.cpp:19

◆ MakeBlenderError()

std::error_code rtctk::telSub::MakeBlenderError ( GenericBlenderError e)
noexcept

Creates an error_code for a blender error.

This is a convenient wrapper that uses the global error category.

This is a convenient helper function to create error codes for blender errors. It is the preferred way to create blender error codes.

Parameters
eThe BlenderError to convert.
Returns
An error_code representing the error.
Example:
// Use the helper function to create error codes
return MakeBlenderError(BlenderError::MissingTopic);
// In a blender function:
if (topic_ptr == samples.end()) {
return MakeBlenderError(BlenderError::MissingTopic);
}
std::error_code MakeBlenderError(GenericBlenderError e) noexcept
Creates an error_code for a blender error.
Definition blenderError.cpp:29