12#ifndef RTCTK_COMPONENTFRAMEWORK_DATAPATH_DDSSUB_HPP
13#define RTCTK_COMPONENTFRAMEWORK_DATAPATH_DDSSUB_HPP
32 std::shared_ptr<DataReaderListener> l,
33 const std::string& mc)
55 Subscriber* m_subscriber =
nullptr;
56 std::vector<DataReader*> m_data_readers;
57 std::vector<std::shared_ptr<DataReaderListener>> m_listeners;
73 explicit DdsSub(
const std::string& qos_file,
76 const std::string& participant_name =
"");
99 std::shared_ptr<DataReaderListener> listener =
nullptr,
100 const std::string& multicast_address =
"");
150 return m_data_readers;
159struct formatter<eprosima::fastdds::dds::SampleRejectedStatusKind> : formatter<string_view> {
160 template <
typename FormatContext>
161 auto format(eprosima::fastdds::dds::SampleRejectedStatusKind c, FormatContext& ctx)
const {
162 using eprosima::fastdds::dds::SampleRejectedStatusKind;
163 string_view name =
"unknown";
165 case SampleRejectedStatusKind::NOT_REJECTED:
166 name =
"NOT_REJECTED";
168 case SampleRejectedStatusKind::REJECTED_BY_INSTANCES_LIMIT:
169 name =
"REJECTED_BY_INSTANCES_LIMIT";
171 case SampleRejectedStatusKind::REJECTED_BY_SAMPLES_LIMIT:
172 name =
"REJECTED_BY_SAMPLES_LIMIT";
174 case SampleRejectedStatusKind::REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT:
175 name =
"REJECTED_BY_SAMPLES_PER_INSTANCE_LIMIT";
177 case SampleRejectedStatusKind::REJECTED_BY_UNKNOWN_INSTANCE:
178 name =
"REJECTED_BY_UNKNOWN_INSTANCE";
182 return formatter<string_view>::format(name, ctx);
DdsSub(const std::string &qos_file, const std::string &qos_profile=DEFAULT_QOS_PROFILE, DomainId_t domain_id=DEFAULT_DOMAIN_ID, const std::string &participant_name="")
Definition ddsSub.cpp:30
DdsSub(const std::string &qos_file, const std::string &qos_profile=DEFAULT_QOS_PROFILE, DomainId_t domain_id=DEFAULT_DOMAIN_ID, const std::string &participant_name="")
Definition ddsSub.cpp:30
DataReader * CreateDataReader(Topic *topic, std::shared_ptr< DataReaderListener > listener=nullptr, const std::string &multicast_address="")
Creates DDS data reader for particular topic for topic of type: rtctk::AgnosticTopic.
Definition ddsSub.cpp:109
void DumpDDSstatistics()
Dumps / logs varios DDS statistic like NACks, ACKs, ... for each DDS writer.
Definition ddsSub.cpp:279
void DestroySubscriber()
Destroys DDS subscriber.
Definition ddsSub.cpp:92
void DestroyAllDataReaders()
Destroys DDS Data Reader for all DDS topics.
Definition ddsSub.cpp:255
void EnableAllDataReaders()
Definition ddsSub.cpp:180
void CreateManyDataReaders(const std::vector< DdsReaderParams > &reader_params)
create DDS topics and DDS readers for the given list (vector) of topic names and rtctk::componentFram...
Definition ddsSub.cpp:228
std::vector< DataReader * > & GetDataReaders()
returns vector of all DDS Data writers
Definition ddsSub.hpp:149
~DdsSub() override
Definition ddsSub.cpp:39
void CreateDataReaders()
Creates DDS Data Reader for all DDS topics.
Definition ddsSub.cpp:266
void CreateSubscriber()
Creates DDS subscriber.
Definition ddsSub.cpp:48
void DestroyDataReader(DataReader *dr, bool to_be_removed=true)
Destroys DDS data reader.
Definition ddsSub.cpp:193
static const DomainId_t DEFAULT_DOMAIN_ID
default Domain Id for different DDS
Definition dds.hpp:174
static const std::string DEFAULT_QOS_PROFILE
default profile name for different DDS QoSs
Definition dds.hpp:168
Dds(const std::string &qos_file, const std::string &qos_profile=DEFAULT_QOS_PROFILE, DomainId_t domain_id=DEFAULT_DOMAIN_ID, const std::string &participant_name="")
Constructor for Base class for both DDS Publisher and DDS Subscriber.
Definition dds.cpp:25
Declares common DDS class.
Definition commandReplier.cpp:22
Definition ddsSub.hpp:156
DdsReaderParams(const std::string &tn, std::shared_ptr< DataReaderListener > l, const std::string &mc)
Definition ddsSub.hpp:31
std::string topic_name
Definition ddsSub.hpp:27
std::string multicast_address
Definition ddsSub.hpp:29
DdsReaderParams(const std::string &tn)
Definition ddsSub.hpp:41
DdsReaderParams(const std::string &tn, std::shared_ptr< DataReaderListener > l)
Definition ddsSub.hpp:37
std::shared_ptr< DataReaderListener > listener
Definition ddsSub.hpp:28
DdsReaderParams(const std::string &tn, std::shared_ptr< DataReaderListener > l, const std::string &mc)
Definition ddsSub.hpp:31