Apollo 11.0
自动驾驶开放平台
apollo::cyber::transport::RtpsTransmitter< M > 模板类 参考

#include <rtps_transmitter.h>

类 apollo::cyber::transport::RtpsTransmitter< M > 继承关系图:
apollo::cyber::transport::RtpsTransmitter< M > 的协作图:

Public 类型

using MessagePtr = std::shared_ptr< M >
 
- Public 类型 继承自 apollo::cyber::transport::Transmitter< M >
using MessagePtr = std::shared_ptr< M >
 

Public 成员函数

 RtpsTransmitter (const RoleAttributes &attr, const ParticipantPtr &participant)
 
virtual ~RtpsTransmitter ()
 
void Enable () override
 
void Disable () override
 
void Enable (const RoleAttributes &opposite_attr) override
 
void Disable (const RoleAttributes &opposite_attr) override
 
bool Transmit (const MessagePtr &msg, const MessageInfo &msg_info) override
 
bool AcquireMessage (std::shared_ptr< M > &msg)
 
- Public 成员函数 继承自 apollo::cyber::transport::Transmitter< M >
 Transmitter (const RoleAttributes &attr)
 
virtual ~Transmitter ()
 
virtual bool Transmit (const MessagePtr &msg)
 
uint64_t NextSeqNum ()
 
uint64_t seq_num () const
 
- Public 成员函数 继承自 apollo::cyber::transport::Endpoint
 Endpoint (const RoleAttributes &attr)
 
virtual ~Endpoint ()
 
const Identityid () const
 
const RoleAttributesattributes () const
 

额外继承的成员函数

- Protected 属性 继承自 apollo::cyber::transport::Transmitter< M >
uint64_t seq_num_
 
MessageInfo msg_info_
 
std::shared_ptr<::bvar::Adder< int > > msg_counter_
 
- Protected 属性 继承自 apollo::cyber::transport::Endpoint
bool enabled_
 
Identity id_
 
RoleAttributes attr_
 

详细描述

template<typename M>
class apollo::cyber::transport::RtpsTransmitter< M >

在文件 rtps_transmitter.h40 行定义.

成员类型定义说明

◆ MessagePtr

template<typename M >
using apollo::cyber::transport::RtpsTransmitter< M >::MessagePtr = std::shared_ptr<M>

在文件 rtps_transmitter.h42 行定义.

构造及析构函数说明

◆ RtpsTransmitter()

template<typename M >
apollo::cyber::transport::RtpsTransmitter< M >::RtpsTransmitter ( const RoleAttributes attr,
const ParticipantPtr participant 
)

在文件 rtps_transmitter.h71 行定义.

73 : Transmitter<M>(attr), participant_(participant), publisher_(nullptr) {}

◆ ~RtpsTransmitter()

template<typename M >
apollo::cyber::transport::RtpsTransmitter< M >::~RtpsTransmitter ( )
virtual

在文件 rtps_transmitter.h76 行定义.

成员函数说明

◆ AcquireMessage()

template<typename M >
bool apollo::cyber::transport::RtpsTransmitter< M >::AcquireMessage ( std::shared_ptr< M > &  msg)
virtual

实现了 apollo::cyber::transport::Transmitter< M >.

在文件 rtps_transmitter.h66 行定义.

66 {
67 return false;
68}

◆ Disable() [1/2]

template<typename M >
void apollo::cyber::transport::RtpsTransmitter< M >::Disable ( )
overridevirtual

实现了 apollo::cyber::transport::Transmitter< M >.

在文件 rtps_transmitter.h110 行定义.

110 {
111 if (this->enabled_) {
112 publisher_ = nullptr;
113 this->enabled_ = false;
114 }
115}

◆ Disable() [2/2]

template<typename M >
void apollo::cyber::transport::RtpsTransmitter< M >::Disable ( const RoleAttributes opposite_attr)
overridevirtual

重载 apollo::cyber::transport::Transmitter< M > .

在文件 rtps_transmitter.h87 行定义.

87 {
88 (void)opposite_attr;
89 this->Disable();
90}

◆ Enable() [1/2]

template<typename M >
void apollo::cyber::transport::RtpsTransmitter< M >::Enable ( )
overridevirtual

实现了 apollo::cyber::transport::Transmitter< M >.

在文件 rtps_transmitter.h93 行定义.

93 {
94 if (this->enabled_) {
95 return;
96 }
97
98 RETURN_IF_NULL(participant_);
99
100 eprosima::fastrtps::PublisherAttributes pub_attr;
102 this->attr_.channel_name(), this->attr_.qos_profile(), &pub_attr));
103 publisher_ = eprosima::fastrtps::Domain::createPublisher(
104 participant_->fastrtps_participant(), pub_attr);
105 RETURN_IF_NULL(publisher_);
106 this->enabled_ = true;
107}
static bool FillInPubAttr(const std::string &channel_name, const QosProfile &qos, eprosima::fastrtps::PublisherAttributes *pub_attr)
#define RETURN_IF_NULL(ptr)
Definition log.h:90
#define RETURN_IF(condition)
Definition log.h:106

◆ Enable() [2/2]

template<typename M >
void apollo::cyber::transport::RtpsTransmitter< M >::Enable ( const RoleAttributes opposite_attr)
overridevirtual

重载 apollo::cyber::transport::Transmitter< M > .

在文件 rtps_transmitter.h81 行定义.

81 {
82 (void)opposite_attr;
83 this->Enable();
84}

◆ Transmit()

template<typename M >
bool apollo::cyber::transport::RtpsTransmitter< M >::Transmit ( const MessagePtr msg,
const MessageInfo msg_info 
)
overridevirtual

实现了 apollo::cyber::transport::Transmitter< M >.

在文件 rtps_transmitter.h118 行定义.

119 {
120 return Transmit(*msg, msg_info);
121}
bool Transmit(const MessagePtr &msg, const MessageInfo &msg_info) override

该类的文档由以下文件生成: