17 #ifndef CYBER_TRANSPORT_TRANSMITTER_RTPS_TRANSMITTER_H_ 18 #define CYBER_TRANSPORT_TRANSMITTER_RTPS_TRANSMITTER_H_ 28 #include "fastrtps/Domain.h" 29 #include "fastrtps/attributes/PublisherAttributes.h" 30 #include "fastrtps/participant/Participant.h" 31 #include "fastrtps/publisher/Publisher.h" 55 eprosima::fastrtps::Publisher* publisher_;
61 :
Transmitter<M>(attr), participant_(participant), publisher_(nullptr) {}
76 eprosima::fastrtps::PublisherAttributes pub_attr;
78 this->
attr_.channel_name(), this->
attr_.qos_profile(), &pub_attr));
79 publisher_ = eprosima::fastrtps::Domain::createPublisher(
80 participant_->fastrtps_participant(), pub_attr);
109 eprosima::fastrtps::rtps::WriteParams wparams;
112 reinterpret_cast<char*
>(&wparams.related_sample_identity().writer_guid());
117 wparams.related_sample_identity().sequence_number().high =
118 (int32_t)((msg_info.
seq_num() & 0xFFFFFFFF00000000) >> 32);
119 wparams.related_sample_identity().sequence_number().low =
120 (int32_t)(msg_info.
seq_num() & 0xFFFFFFFF);
122 if (participant_->is_shutdown()) {
125 return publisher_->write(reinterpret_cast<void*>(&m), wparams);
132 #endif // CYBER_TRANSPORT_TRANSMITTER_RTPS_TRANSMITTER_H_ std::shared_ptr< M > MessagePtr
Definition: rtps_transmitter.h:40
bool enabled_
Definition: endpoint.h:45
This class represents the structure UnderlayMessage defined by the user in the IDL file...
Definition: underlay_message.h:38
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
#define RETURN_VAL_IF(condition, val)
Definition: log.h:114
constexpr uint8_t ID_SIZE
Definition: identity.h:28
#define RETURN_IF(condition)
Definition: log.h:106
Definition: rtps_transmitter.h:38
std::enable_if< HasSerializeToString< T >::value, bool >::type SerializeToString(const T &message, std::string *str)
Definition: message_traits.h:201
RoleAttributes attr_
Definition: endpoint.h:47
#define ADEBUG
Definition: log.h:41
void data(const std::string &_data)
This function copies the value in member data.
Definition: underlay_message.h:112
#define RETURN_IF_NULL(ptr)
Definition: log.h:90
RtpsTransmitter(const RoleAttributes &attr, const ParticipantPtr &participant)
Definition: rtps_transmitter.h:59
uint64_t seq_num() const
Definition: message_info.h:55
static bool FillInPubAttr(const std::string &channel_name, const QosProfile &qos, eprosima::fastrtps::PublisherAttributes *pub_attr)
const Identity & sender_id() const
Definition: message_info.h:49
void Enable() override
Definition: rtps_transmitter.h:69
Definition: message_info.h:30
void Disable() override
Definition: rtps_transmitter.h:86
bool Transmit(const MessagePtr &msg, const MessageInfo &msg_info) override
Definition: rtps_transmitter.h:94
std::shared_ptr< Participant > ParticipantPtr
Definition: participant.h:37
const char * data() const
Definition: identity.h:44
Definition: transmitter.h:36
virtual ~RtpsTransmitter()
Definition: rtps_transmitter.h:64
const Identity & spare_id() const
Definition: message_info.h:58