ddt 1.1.0
Loading...
Searching...
No Matches
Protected Attributes | List of all members
ddt::DdtDataSubscriber Class Reference

#include <ddtDataSubscriber.hpp>

Inheritance diagram for ddt::DdtDataSubscriber:
ddt::DdtDataTransferLib DdtDataSubscriber2Fake DdtDataSubscriberFake

Protected Attributes

int32_t max_age_data_sample
 
const int32_t MAX_AGE_DATA_SAMPLE_DEFAULT = 10000
 
- Protected Attributes inherited from ddt::DdtDataTransferLib
int latency
 
int deadline
 
int32_t reply_time
 
int32_t heartbeat_interval
 
std::promise< void > exit_signal_heartbeat
 
std::future< void > future_object_heartbeat
 
std::atomic< bool > heartbeat_active
 
std::unique_ptr< datatransfer::DataBrokerRegistrationSync, std::default_delete< datatransfer::DataBrokerRegistrationSync > > client
 
std::atomic< bool > connected_to_broker
 
elt::mal::rr::ListenerRegistration connection_listener
 
DdtLoggerlogger
 
DdtLoggermy_logger = nullptr
 
const int32_t REPLY_TIME_DEFAULT = 6
 
const int32_t REPLY_TIME_MIN = 2
 
 DdtDataSubscriber (DdtLogger *logger)
 
 DdtDataSubscriber (log4cplus::Logger const &log4cplus_logger)
 
 ~DdtDataSubscriber () override
 
int RegisterSubscriber (const std::string uri, const std::string dsi, const std::string remote_uri, const int32_t interval=10) override
 
int UnregisterSubscriber () override
 
DataSampleReadData () override
 
void StartNotificationSubscription ()
 
void StopNotificationSubscription ()
 
DdtStatistics get_statistics ()
 
boost::signals2::connection connect (const SignalT::slot_type &event_listener)
 
void LoadDefaults ()
 
void ReadIni ()
 

Additional Inherited Members

- Public Member Functions inherited from ddt::DdtDataTransferLib
virtual int RegisterPublisher (const std::string uri, const std::string dsi, const bool compute_crc)
 
virtual int UnregisterPublisher ()
 
virtual void PublishData ()
 
virtual int RegisterSubscriber (const std::string uri, const std::string dsi, const std::string remote_uri, const int32_t interval=10)
 
virtual int UnregisterSubscriber ()
 
virtual DataSampleReadData ()
 
 DdtDataTransferLib (DdtLogger *ddt_logger)
 
 DdtDataTransferLib (log4cplus::Logger const &log4cplus_logger)
 
virtual ~DdtDataTransferLib ()
 
void SetQoS (const int ddt_latency, const int ddt_deadline)
 
const std::string VerifyPathInBrokerUri (std::string broker_uri)
 
int InitMAL (const std::string broker_uri)
 
std::unique_ptr< datatransfer::DataBrokerRegistrationSync, std::default_delete< datatransfer::DataBrokerRegistrationSync > > GetBrokerClient ()
 
- Protected Member Functions inherited from ddt::DdtDataTransferLib
void StartHeartbeat (const int32_t interval, const std::string id)
 
void StopHeartbeat ()
 
void CheckHeartbeatTimeout (int32_t &new_reply_time)
 
const std::string GetConfigFilePath ()
 

Detailed Description

This class provides the functionality for subscriber applications to register / unregister at a local broker and to receive data for a specified data stream.

Constructor & Destructor Documentation

◆ DdtDataSubscriber() [1/2]

DdtDataSubscriber::DdtDataSubscriber ( DdtLogger logger)
explicit

Constructor

Parameters
loggerA DDT logger object (no transfer of ownership).

◆ DdtDataSubscriber() [2/2]

DdtDataSubscriber::DdtDataSubscriber ( log4cplus::Logger const &  log4cplus_logger)
explicit

Constructor, taking a log4cplus logger as input

Parameters
log4cplus_loggerA log4cplus logger object (no transfer of ownership).

◆ ~DdtDataSubscriber()

DdtDataSubscriber::~DdtDataSubscriber ( )
override

Destructor

Member Function Documentation

◆ connect()

boost::signals2::connection DdtDataSubscriber::connect ( const SignalT::slot_type &  event_listener)

Connects the event_listener with the DataAvailableSignal from the memory accessor.

Parameters
event_listenerSlot for the DataAvailable signal.

◆ get_statistics()

DdtStatistics DdtDataSubscriber::get_statistics ( )

Returns the statistics.

Returns
A DDT statistics object.

◆ LoadDefaults()

void DdtDataSubscriber::LoadDefaults ( )
protected

Loads default values for configuration parameters.

◆ ReadData()

DataSample * DdtDataSubscriber::ReadData ( )
overridevirtual

Function for receiving data.

Returns
The data sample.

Reimplemented from ddt::DdtDataTransferLib.

◆ ReadIni()

void DdtDataSubscriber::ReadIni ( )
protected

Reads the datatransferlib configuration file.

An exception is thrown if the config file does not exist. In that case the default values are used instead.

make sure max_age_data_sample is at least MAX_AGE_DATA_SAMPLE_MIN set to default value otherwise

make sure reply_time is at least REPLY_TIME_MIN set to default value otherwise

◆ RegisterSubscriber()

int DdtDataSubscriber::RegisterSubscriber ( const std::string  uri,
const std::string  dsi,
const std::string  remote_uri,
const int32_t  interval = 10 
)
overridevirtual

Function for registering a subscriber at the local broker using a MAL client.

Parameters
uriThe MAL Uniform Resource Identifier.
dsiThe data stream identifier.
remote_uriThe URI of the remote broker.
intervalThe reading interval.
Returns
Success of registration.

Reimplemented from ddt::DdtDataTransferLib.

◆ StartNotificationSubscription()

void DdtDataSubscriber::StartNotificationSubscription ( )

Starts MAL subscription for notifications as a separate thread.

◆ StopNotificationSubscription()

void DdtDataSubscriber::StopNotificationSubscription ( )

Stops MAL subscription.

◆ UnregisterSubscriber()

int DdtDataSubscriber::UnregisterSubscriber ( )
overridevirtual

Function for unregistering a subscriber from the local broker.

Returns
Success of unregistration.

Reimplemented from ddt::DdtDataTransferLib.

Member Data Documentation

◆ max_age_data_sample

int32_t ddt::DdtDataSubscriber::max_age_data_sample
protected

Configurable time window for dropping data samples in [ms].

◆ MAX_AGE_DATA_SAMPLE_DEFAULT

const int32_t ddt::DdtDataSubscriber::MAX_AGE_DATA_SAMPLE_DEFAULT = 10000
protected

Default value of the time window for dropping data samples in [ms].


The documentation for this class was generated from the following files: