|
| | DdtConnectionManager (DdtLogger *ddt_logger, const std::string uri_string) |
| |
| | DdtConnectionManager (DdtMemoryManager *mmgr, DdtLogger *ddt_logger, const std::string uri_string) |
| |
| virtual | ~DdtConnectionManager () |
| |
| int32_t | RegisterPublisher (const std::string &data_stream_identifier, int32_t latency, int32_t deadline, int32_t max_data_sample_size, int32_t number_of_samples, bool compute_checksum, const std::string &publishing_uri) override |
| |
| int32_t | UnregisterPublisher (const std::string &data_stream_identifier) override |
| |
| int32_t | UnregisterPublishers () |
| |
| void | PublishData (const std::string &data_stream_identifier) override |
| |
| int32_t | RegisterSubscriber (const std::string &subscriber_uuid, const std::string &data_stream_identifier, const std::string &remote_broker_uri, int32_t latency, int32_t deadline) override |
| |
| int32_t | RegisterRemoteSubscriber (const std::string &remote_broker, const std::string &subscriber_uuid, const std::string &data_stream_identifier, const int32_t latency, const int32_t deadline) override |
| |
| int32_t | UnregisterSubscriber (const std::string &data_stream_identifier, const std::string &subscriber_uuid) override |
| |
| int32_t | UnregisterSubscribers () |
| |
| int32_t | get_max_data_sample_size (const std::string &data_stream_identifier) override |
| |
| int32_t | get_number_of_samples (const std::string &data_stream_identifier) override |
| |
| std::string | get_publishing_uri (const std::string &data_stream_identifier) override |
| |
| int32_t | get_notification_port (const std::string &data_stream_identifier) override |
| |
| std::vector< std::string > | get_statistics (const std::string &data_stream_identifier) override |
| |
| int32_t | get_heartbeat_interval () override |
| |
| int32_t | get_heartbeat_timeout () override |
| |
| bool | get_compute_checksum (const std::string &data_stream_identifier) override |
| |
| std::string | get_shm_id (const std::string &data_stream_identifier) override |
| |
| void | UpdateHeartbeat (const std::string &identifier) override |
| |
| bool | CheckPubRegistrationPermitted (const std::string &data_stream_identifier) override |
| |
| bool | CheckPublisherExists (const std::string &data_stream_identifier) override |
| |
| bool | CheckRemotePublisherExists (const std::string &remote_broker_uri, const std::string &data_stream_identifier) override |
| |
| void | UpdateStatistics (const std::string &data_stream_identifier, const int32_t datavec_size, const uint64_t source_timestamp) override |
| |
| int32_t | GetMaxPossibleBufferSize (int32_t max_data_sample_size) override |
| |
| std::vector< std::string > | GetRegisteredStreams () override |
| |
| std::vector< std::string > | GetConnectedBrokers () override |
| |
This class manages the connection handling between Data Brokers and Publisher / Subscriber applications.
| int32_t DdtConnectionManager::RegisterPublisher |
( |
const std::string & |
data_stream_identifier, |
|
|
int32_t |
latency, |
|
|
int32_t |
deadline, |
|
|
int32_t |
max_data_sample_size, |
|
|
int32_t |
number_of_samples, |
|
|
bool |
compute_checksum, |
|
|
const std::string & |
publishing_uri |
|
) |
| |
|
override |
This function is called from Publisher applications by the DdtDataPublishers. For each Publisher application a DdtDataProducer object is created which are stored in a producer map. This also triggers the registration process in the DdtMemoryManager.
Reuse the publishing URI if the publisher was restarted.
It takes some time to establish communication mechanism on startup of the publishers and subscribers (see MAL API description). Wait after publisher has been instantiated. This does NOT guarantee that the first n message will not be lost.