Class CPublisherImpl
Defined in File ecal_publisher_impl.h
Nested Relationships
Nested Types
Class Documentation
-
class CPublisherImpl
Public Types
-
using SSubscriptionInfo = Registration::SampleIdentifier
Public Functions
-
CPublisherImpl(const SDataTypeInformation &topic_info_, const eCAL::eCALWriter::SAttributes &attr_)
-
~CPublisherImpl()
-
bool Write(CPayloadWriter &payload_, long long time_, long long filter_id_)
-
bool SetDataTypeInformation(const SDataTypeInformation &topic_info_)
-
bool SetEventCallback(ePublisherEvent type_, const v5::PubEventCallbackT callback_)
-
bool RemoveEventCallback(ePublisherEvent type_)
-
bool SetEventCallback(const PubEventCallbackT callback_)
-
bool RemoveEventCallback()
-
bool SetAttribute(const std::string &attr_name_, const std::string &attr_value_)
-
bool ClearAttribute(const std::string &attr_name_)
-
void ApplySubscriberRegistration(const SSubscriptionInfo &subscription_info_, const SDataTypeInformation &data_type_info_, const SLayerStates &sub_layer_states_, const std::string &reader_par_)
-
void ApplySubscriberUnregistration(const SSubscriptionInfo &subscription_info_, const SDataTypeInformation &data_type_info_)
-
void RefreshSendCounter()
-
inline bool IsCreated() const
-
bool IsSubscribed() const
-
size_t GetSubscriberCount() const
-
inline const std::string &GetTopicName() const
-
inline const SDataTypeInformation &GetDataTypeInformation() const
Protected Types
-
using SSubscriptionMapT = std::map<SSubscriptionInfo, SConnection>
-
using EventCallbackMapT = std::map<ePublisherEvent, v5::PubEventCallbackT>
Protected Functions
-
void Register()
-
void Unregister()
-
bool StartUdpLayer()
-
bool StartShmLayer()
-
bool StartTcpLayer()
-
void StopAllLayer()
-
void FireEvent(const ePublisherEvent type_, const SSubscriptionInfo &subscription_info_, const SDataTypeInformation &data_type_info_)
-
void FireConnectEvent(const SSubscriptionInfo &subscription_info_, const SDataTypeInformation &data_type_info_)
-
void FireDisconnectEvent(const SSubscriptionInfo &subscription_info_, const SDataTypeInformation &data_type_info_)
-
size_t GetConnectionCount()
-
size_t PrepareWrite(long long id_, size_t len_)
-
TransportLayer::eType DetermineTransportLayer2Start(const std::vector<eTLayerType> &enabled_pub_layer_, const std::vector<eTLayerType> &enabled_sub_layer_, bool same_host_)
-
int32_t GetFrequency()
Protected Attributes
-
SDataTypeInformation m_topic_info
-
size_t m_topic_size = 0
-
eCAL::eCALWriter::SAttributes m_attributes
-
std::vector<char> m_payload_buffer
-
mutable std::mutex m_connection_map_mutex
-
SSubscriptionMapT m_connection_map
-
std::atomic<size_t> m_connection_count = {0}
-
std::mutex m_event_callback_map_mutex
-
EventCallbackMapT m_event_callback_map
-
std::mutex m_event_id_callback_mutex
-
PubEventCallbackT m_event_id_callback
-
long long m_id = 0
-
long long m_clock = 0
-
std::mutex m_frequency_calculator_mutex
-
ResettableFrequencyCalculator<std::chrono::steady_clock> m_frequency_calculator
-
SLayerStates m_layers
-
std::atomic<bool> m_created
-
struct SConnection
-
struct SLayerState
-
struct SLayerStates
-
using SSubscriptionInfo = Registration::SampleIdentifier