|
RTC Toolkit 6.0.0
|
Telemetry Subscriber library and related components. More...
Files | |
| file | blenderError.cpp |
| Defines the generic blender error category. | |
| file | businessLogic.cpp |
| Implements the business logic for telSub. | |
| file | correlator.cpp |
| Implementation of the Correlator class. | |
| file | ddsReaderListener.cpp |
| Implementation of DDS Reader Listener. | |
| file | ddsReaderListener.hpp |
| DDS Reader Listener. | |
| file | ddsWaitSet.cpp |
| Implementation of the DdsWaitSet. | |
| file | agnosticDataSamples.hpp |
| Declares AgnosticDataSamples. | |
| file | blenderError.hpp |
| Declares the generic blender error category. | |
| file | businessLogic.hpp |
| Implements the business logic for telSub. | |
| file | correlator.hpp |
| Declares Correlator. | |
| file | correlatorIf.hpp |
| Declares CorrelatorIf. | |
| file | dataSampleView.hpp |
| Declares ShmPublisher. | |
| file | ddsWaitSet.hpp |
| Declares the DdsWaitSet implementation. | |
| file | ddsWaitSetIf.hpp |
| Declares DdsWaitSetIf. | |
| file | main.hpp |
| Entry-point for Telemetry Subscriber. | |
| file | operationalLogic.hpp |
| Declares OperationalLogic. | |
| file | operationalLogicIf.hpp |
| Declares OperationalLogicIf. | |
| file | shmPublisher.hpp |
| Declares ShmPublisher. | |
| file | shmPublisherIf.hpp |
| Declares ShmPublisher. | |
| file | operationalLogic.cpp |
| Definition of OperationalLogic. | |
| file | incMain.cpp |
| Test that rtck/telSub/main.hpp is self-contained. | |
| file | mockCorrelatorIf.hpp |
| Mock of ShmPublisherIf. | |
| file | mockDdsWaitSet.hpp |
| Mock of DdsSubscriberIf. | |
| file | mockShmPublisherIf.hpp |
| Mock of ShmPublisherIf. | |
Classes | |
| class | rtctk::telSub::DdsReaderListener |
| Listener class for different DDS events. More... | |
| class | rtctk::telSub::SeqLoanerIf |
| Loaner interface. More... | |
| class | rtctk::telSub::AgnosticDataSamples |
| Container of DDS samples and associated sample information. More... | |
| class | rtctk::telSub::BlenderErrorCategory |
| Error category for blender errors. More... | |
| struct | rtctk::telSub::OperationalLogicFactoryParams |
| Set of all parameters needed when constructing the OperationalLogic object. More... | |
| class | rtctk::telSub::BusinessLogic |
| Implements the Telemetry Subscriber business logic. More... | |
| class | rtctk::telSub::Correlator |
| Implements a correlator. More... | |
| struct | rtctk::telSub::CorrelatorParams |
| Placeholder for correlator parameters. More... | |
| class | rtctk::telSub::CorrelatorIf |
| Interface for correlator implemementations that takes new data samples from DDS and performs correlation on them. More... | |
| struct | rtctk::telSub::DataSampleView |
| Agnostic data sample non-owning reference type. More... | |
| struct | rtctk::telSub::DataSamplesView |
| A set of correlated agnostic non-owning data samples references. More... | |
| class | rtctk::telSub::DdsWaitSet |
| Implements DDS communication using FastDDS. More... | |
| struct | rtctk::telSub::DdsTopicOptions |
| Options for a single topic. More... | |
| struct | rtctk::telSub::DdsParams |
| Parameter set to be passed to classes deriving from DdsWaitSetIf. More... | |
| class | rtctk::telSub::DdsWaitSetIf |
| Base class abstracting DDS communication code. More... | |
| class | rtctk::telSub::OperationalLogic |
| Implements the behaviour for Operational state. More... | |
| struct | rtctk::telSub::ShmParams |
| Shared memory configuration parameters. More... | |
| struct | rtctk::telSub::OperationalParams |
| Configuration parameters needed for operational logic. More... | |
| class | rtctk::telSub::OperationalLogicIf |
| Interface to the operational logic implementation. More... | |
| class | rtctk::telSub::ShmPublisher< UserTopicType, DataBlender, ShmWriter > |
| class | rtctk::telSub::ShmPublisherIf |
| Simple interface to class that owns the shared memory queue. More... | |
Enumerations | |
| enum class | rtctk::telSub::GenericBlenderError : std::uint8_t { rtctk::telSub::GenericBlenderError::Success = 0 , rtctk::telSub::GenericBlenderError::MissingTopic , rtctk::telSub::GenericBlenderError::SizeMismatch , rtctk::telSub::GenericBlenderError::InvalidFormat , rtctk::telSub::GenericBlenderError::UnknownError } |
| Error codes for blender-related errors. More... | |
Functions | |
| 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. | |
| template<class UserTopicType, class DataBlender> | |
| void | rtctk::telSub::Main (const rtctk::componentFramework::Args &args, DataBlender &&blender) |
| Main entrypoint for running telemetry subscriber. | |
| template<class UserTopicType, class DataBlender, class ShmWriter> | |
| auto | rtctk::telSub::MakeShmPublisher (ShmWriter &&shm_writer, DataBlender &blender) -> std::unique_ptr< ShmPublisher< UserTopicType, DataBlender, ShmWriter > > |
| Helper that can deduce DataBlender class template argument. | |
Telemetry Subscriber library and related components.
Refer to the Telemetry Subscriber for an overview.
|
strong |
Error codes for blender-related errors.
These are generic error codes that cover the most common error scenarios in blender functions. Users can define their own more specific error codes by creating custom error categories.
| 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).
| UserTopicType | User defined topic used in shared memory queue. |
| DataBlender | Type 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). |
| args | Command line arguments as received in RtcComponentMain. |
| blender | The 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 synchronisation. |
| auto rtctk::telSub::MakeShmPublisher | ( | ShmWriter && | shm_writer, |
| DataBlender & | blender ) -> std::unique_ptr<ShmPublisher<UserTopicType, DataBlender, ShmWriter>> |
Helper that can deduce DataBlender class template argument.
| 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.