ddt 1.4.0
 
Loading...
Searching...
No Matches
ddt::DdtStatisticsClient Class Reference

#include <ddtStatisticsClient.hpp>

Inheritance diagram for ddt::DdtStatisticsClient:
ddt::DdtDataTransferLib

Public Member Functions

 DdtStatisticsClient (DdtLogger *ddt_logger, const std::string broker_uri)
 
 ~DdtStatisticsClient () override
 
DdtStatistics GetStatistics (const std::string data_stream_identifier)
 
std::vector< std::string > GetRegisteredStreams ()
 
std::vector< std::string > GetConnectedBrokers ()
 
- Public Member Functions inherited from ddt::DdtDataTransferLib
 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 ()
 
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 ()
 
boost::signals2::connection ConnectToConnectionState (const std::function< void(ConnectionState)> &callback)
 

Additional Inherited Members

- Public Types inherited from ddt::DdtDataTransferLib
enum class  ConnectionState { Disconnected = 0 , Connected , Reconnecting , PublisherDisconnected }
 
using ConnectionStateSignalT = boost::signals2::signal<void(ConnectionState)>
 
- Protected Member Functions inherited from ddt::DdtDataTransferLib
void StartHeartbeat (const int32_t interval, const std::string id)
 
void StopHeartbeat ()
 
virtual void StopThreads ()
 
void Reconnect ()
 
void CheckHeartbeatTimeout (int32_t &new_reply_time)
 
void NotifyConnectionState (ConnectionState state)
 
const std::string GetConfigFilePath ()
 
void SpawnReconnectionThread ()
 
- Protected Attributes inherited from ddt::DdtDataTransferLib
int latency = 0
 
int deadline = 0
 
int32_t reply_time = 0
 
int32_t heartbeat_interval = 0
 
std::thread hb_thread
 
std::thread reconnect_thread
 
std::atomic< bool > reconnect_pending {false}
 
std::mutex hb_cv_mutex
 
std::condition_variable hb_cv
 
std::atomic< bool > heartbeat_active {false}
 
std::atomic< bool > shutdown_in_progress {false}
 
std::unique_ptr< datatransfer::DataBrokerRegistrationSync, std::default_delete< datatransfer::DataBrokerRegistrationSync > > client
 
std::atomic< bool > connected_to_broker {false}
 
ConnectionStateSignalT connection_state_signal
 
std::atomic< ConnectionStatelast_notified_state {ConnectionState::Disconnected}
 
std::string broker_uri
 
elt::mal::rr::ListenerRegistration connection_listener
 
DdtLoggerlogger = nullptr
 
DdtLoggermy_logger = nullptr
 
const int32_t REPLY_TIME_DEFAULT = 6
 
const int32_t REPLY_TIME_MIN = 2
 
int32_t wait_for_connection = 0
 
const int32_t WAIT_FOR_CONNECTION_DEFAULT = 10
 
const int32_t WAIT_FOR_CONNECTION_MIN = 2
 
int32_t max_consecutive_failures = 0
 
const int32_t MAX_CONSECUTIVE_FAILURES_DEFAULT = 3
 
const int32_t MAX_CONSECUTIVE_FAILURES_MIN = 1
 

Detailed Description

This class provides an API to query the statistics from a broker.

Constructor & Destructor Documentation

◆ DdtStatisticsClient()

DdtStatisticsClient::DdtStatisticsClient ( DdtLogger * ddt_logger,
const std::string broker_uri )

Constructor

Parameters
ddt_loggerA DDT logger object (no transfer of ownership).
broker_uriThe URI of the broker.

◆ ~DdtStatisticsClient()

DdtStatisticsClient::~DdtStatisticsClient ( )
overridedefault

Destructor

Member Function Documentation

◆ GetConnectedBrokers()

std::vector< std::string > DdtStatisticsClient::GetConnectedBrokers ( )

Requests from a broker the URIs of connected brokers.

Returns
A vector containing the URIs of connected brokers.

◆ GetRegisteredStreams()

std::vector< std::string > DdtStatisticsClient::GetRegisteredStreams ( )

Requests the streams that are registered at a broker.

Returns
A vector containing all registered streams.

◆ GetStatistics()

DdtStatistics DdtStatisticsClient::GetStatistics ( const std::string data_stream_identifier)

Requests the statistics from the broker.

Parameters
data_stream_identifierThe data stream identifier.
Returns
A DdtStatistics object.

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