RTC Toolkit 5.0.0
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Enumerations | Functions
rtctk::telSub Namespace Reference

Namespaces

namespace  CorrelationStatus
 

Classes

class  AgnosticDataSamples
 Container of DDS samples and associated sample information. 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  InternalError : uint8_t { LUT_ENTRY_NOT_FOUND }
 For internal errors. More...
 

Functions

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

◆ DdsSample

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

◆ DdsSampleSeq

◆ LifeCycle

Enumeration Type Documentation

◆ InternalError

For internal errors.

Enumerator
LUT_ENTRY_NOT_FOUND 

Function Documentation

◆ Main()

void rtctk::telSub::Main ( const rtctk::componentFramework::Args & args,
DataBlender && blender )

Main entrypoint for running telemetry subscriber.

It is meant to be invoked by delegation from a RtcComponentMain implementation (see Telemetry Subscriber).

Template Parameters
UserTopicTypeUser defined topic used in shared memory queue.
DataBlenderType for the blender function. It must be callable with the following signature: std::error_code(const rtctk::telSub::DataSamplesView& dds_samples, UserTopicType& shm_sample). In addition it must be movable (or copyable).
Parameters
argsCommand line arguments as received in RtcComponentMain.
blenderThe callable used to convert DDS agnostic topic samples into the user defined topic in shared memory. This is invoked for each set of correlated data samples and should do absolutely minimal processing and avoid thread synchronization.

◆ MakeShmPublisher()

auto rtctk::telSub::MakeShmPublisher ( ShmWriter && shm_writer,
DataBlender & blender ) -> std::unique_ptr<ShmPublisher<UserTopicType, DataBlender, ShmWriter>>

Helper that can deduce DataBlender class template argument.

◆ operator<<()

std::ostream & rtctk::telSub::operator<< ( std::ostream & stream,
const std::vector< std::string > & data )

A specialisation of the stream output operator to handle vectors of strings.

This is used by methods such as BusinessLogic::GetParam.

Note
this needs to be in the same namespace as BusinessLogic, i.e. rtctk::telSub, otherwise the compiler is not able to match this function as the appropriate one to use.