ddt  0.1
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ddt::DdtClient Class Reference

#include <ddtClient.hpp>

Inheritance diagram for ddt::DdtClient:
DdtClientFake

Public Member Functions

 DdtClient ()
 
 DdtClient (const std::string remote_broker, const int32_t repl_time, const int32_t hb_interval, const int32_t hb_timeout, const std::string broker, DdtLogger *ddt_logger)
 
virtual ~DdtClient ()
 
void AddUuid (std::string uuid, std::string dsi)
 
void UnregisterSubscriber (const std::string uuid)
 
bool CheckIfEmpty ()
 
bool CheckPublisherExists (const std::string &data_stream_identifier) const
 
int32_t RegisterRemoteSubscriber (const std::string &subscriber_uuid, const std::string &data_stream_identifier, const int32_t latency, const int32_t deadline) const
 
std::string GetPublishingUri (const std::string &data_stream_identifier) const
 
int32_t get_max_data_sample_size (const std::string &data_stream_identifier) const
 
int32_t get_number_of_samples (const std::string &data_stream_identifier) const
 
bool get_compute_checksum (const std::string &data_stream_identifier) const
 

Protected Member Functions

void Init (const std::string remote_broker, const int32_t repl_time, const int32_t hb_interval, const int32_t hb_timeout, const std::string broker, DdtLogger *ddt_logger)
 

Protected Attributes

std::map< std::string, std::string > subscriber_map
 
std::atomic< bool > connected_to_broker
 
std::atomic< bool > heartbeat_active
 
std::string remote_broker_uri
 
std::string broker_uri
 
int32_t reply_time
 
int32_t heartbeat_interval
 
int32_t heartbeat_timeout
 
DdtLoggerlogger
 

Detailed Description

This class creates MAL clients to connect to remote brokers. It provides a connection listener which observes the connection state and reregisters subscribers in the case a broker was restarted. It also provides the heartbeat functionality.

Constructor & Destructor Documentation

◆ DdtClient() [1/2]

DdtClient::DdtClient ( )
explicitdefault

Constructor

◆ DdtClient() [2/2]

DdtClient::DdtClient ( const std::string  remote_broker,
const int32_t  repl_time,
const int32_t  hb_interval,
const int32_t  hb_timeout,
const std::string  broker,
DdtLogger ddt_logger 
)

Constructor

◆ ~DdtClient()

DdtClient::~DdtClient ( )
virtual

Destructor

Member Function Documentation

◆ AddUuid()

void DdtClient::AddUuid ( std::string  uuid,
std::string  dsi 
)

Adds a subscriber uuid and its data stream to the subscriber_map.

◆ CheckIfEmpty()

bool DdtClient::CheckIfEmpty ( )

Checks if there are no more subscribers attached to this client. Returns if subscriber_map is empty.

◆ CheckPublisherExists()

bool DdtClient::CheckPublisherExists ( const std::string &  data_stream_identifier) const

Checks if a publisher for the specified data stream exists. This calls CheckPublisherExists() at the remote broker.

◆ get_compute_checksum()

bool DdtClient::get_compute_checksum ( const std::string &  data_stream_identifier) const

Returns compute_checksum from the memory accessor.

◆ get_max_data_sample_size()

int32_t DdtClient::get_max_data_sample_size ( const std::string &  data_stream_identifier) const

Returns max_data_sample_size by calling get_max_data_sample_size() at the remote broker.

◆ get_number_of_samples()

int32_t DdtClient::get_number_of_samples ( const std::string &  data_stream_identifier) const

Returns number_of_samples by calling get_number_of_samples() at the remote broker.

◆ GetPublishingUri()

std::string DdtClient::GetPublishingUri ( const std::string &  data_stream_identifier) const

Returns the publishing uri by calling GetPublishingUri() at the remote broker.

◆ Init()

void DdtClient::Init ( const std::string  remote_broker,
const int32_t  repl_time,
const int32_t  hb_interval,
const int32_t  hb_timeout,
const std::string  broker,
DdtLogger ddt_logger 
)
protected

Initializes some member variables.

◆ RegisterRemoteSubscriber()

int32_t DdtClient::RegisterRemoteSubscriber ( const std::string &  subscriber_uuid,
const std::string &  data_stream_identifier,
const int32_t  latency,
const int32_t  deadline 
) const

Registers a subscriber at the remote broker. This calls RegisterRemoteSubscriber() at the remote broker.

◆ UnregisterSubscriber()

void DdtClient::UnregisterSubscriber ( const std::string  uuid)

Unregisters a subscriber from the remote broker and removes its uuid from the subscriber_map.

Member Data Documentation

◆ broker_uri

std::string ddt::DdtClient::broker_uri
protected

◆ connected_to_broker

std::atomic<bool> ddt::DdtClient::connected_to_broker
protected

Stores the connection state to the remote broker.

◆ heartbeat_active

std::atomic<bool> ddt::DdtClient::heartbeat_active
protected

◆ heartbeat_interval

int32_t ddt::DdtClient::heartbeat_interval
protected

◆ heartbeat_timeout

int32_t ddt::DdtClient::heartbeat_timeout
protected

◆ logger

DdtLogger* ddt::DdtClient::logger
protected

◆ remote_broker_uri

std::string ddt::DdtClient::remote_broker_uri
protected

◆ reply_time

int32_t ddt::DdtClient::reply_time
protected

◆ subscriber_map

std::map<std::string, std::string> ddt::DdtClient::subscriber_map
protected

Map storing all subscribers connected to the same remote broker. They might request data from different data streams. subscriber uuid, data stream identifier


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