RTC Toolkit
1.0.0
|
Telemetry Subscriber and related components. More...
Files | |
file | wscript |
Telemetry Subscriber package. | |
file | agnosticDataSamples.cpp |
Defines AgnosticDataSamples. | |
file | businessLogic.cpp |
Implements the business logic for telSub. | |
file | correlator.cpp |
Implementation of the Correlator class. | |
file | dataSampleView.cpp |
Definition of data sample classes. | |
file | ddsReaderListener.cpp |
Implementation of DDS Reader Listener. | |
file | ddsSubscriber.cpp |
Implementation of the DdsSubscriber. | |
file | agnosticDataSamples.hpp |
Declares AgnosticDataSamples. | |
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 | ddsReaderListener.hpp |
DDS Reader Listener. | |
file | ddsSubscriber.hpp |
Declares the DdsSubscriber implementation. | |
file | ddsSubscriberIf.hpp |
Declares DdsSubscriberIf. | |
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 | shmPublisher.cpp |
shmPublisher definition | |
file | wscript |
Telemetry Subscriber package. | |
Classes | |
class | rtctk::telSub::SeqLoanerIf |
Loaner interface. More... | |
class | rtctk::telSub::AgnosticDataSamples |
Container of DDS samples and associated sample information. 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::DdsReaderListener |
Listener class for different DDS events. More... | |
class | rtctk::telSub::DdsSubscriber |
Implements DDS communication using RTI DDS. More... | |
struct | rtctk::telSub::DdsParams |
Parameter set to be passed to classes deriving from DdsSubscriberIf. More... | |
class | rtctk::telSub::DdsSubscriberIf |
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... | |
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. More... | |
template<class UserTopicType , class DataBlender > | |
void | rtctk::telSub::Main (const rtctk::componentFramework::Args &args, DataBlender &&blender) noexcept |
Main entrypoint for running telemetry subscriber. More... | |
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. More... | |
Telemetry Subscriber and related components.
Refer to the Telemetry Subscriber for an overview.
|
noexcept |
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(rtctk::telSub::CorrelatedDataSamplesRef const& 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 synchronization. |
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.