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

#include <transmitter.h>

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

Public 类型

using MessagePtr = std::shared_ptr< M >
 

Public 成员函数

 Transmitter (const RoleAttributes &attr)
 
virtual ~Transmitter ()
 
virtual void Enable ()=0
 
virtual void Disable ()=0
 
virtual bool AcquireMessage (std::shared_ptr< M > &msg)=0
 
virtual void Enable (const RoleAttributes &opposite_attr)
 
virtual void Disable (const RoleAttributes &opposite_attr)
 
virtual bool Transmit (const MessagePtr &msg)
 
virtual bool Transmit (const MessagePtr &msg, const MessageInfo &msg_info)=0
 
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 属性

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

详细描述

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

在文件 transmitter.h37 行定义.

成员类型定义说明

◆ MessagePtr

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

在文件 transmitter.h39 行定义.

构造及析构函数说明

◆ Transmitter()

template<typename M >
apollo::cyber::transport::Transmitter< M >::Transmitter ( const RoleAttributes attr)
explicit

在文件 transmitter.h68 行定义.

68 : Endpoint(attr) {
71 seq_num_ =
72 statistics::Statistics::Instance()->CreateAdder<int>(Endpoint::attr_);
73}
Endpoint(const RoleAttributes &attr)
Definition endpoint.cc:25
void set_seq_num(uint64_t seq_num)
void set_sender_id(const Identity &sender_id)
std::shared_ptr<::bvar::Adder< int > > seq_num_
Definition transmitter.h:64

◆ ~Transmitter()

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

在文件 transmitter.h76 行定义.

76{}

成员函数说明

◆ AcquireMessage()

◆ Disable() [1/2]

◆ Disable() [2/2]

◆ Enable() [1/2]

◆ Enable() [2/2]

◆ NextSeqNum()

template<typename M >
uint64_t apollo::cyber::transport::Transmitter< M >::NextSeqNum ( )
inline

在文件 transmitter.h55 行定义.

55 {
56 (*seq_num_) << 1;
57 return seq_num_->get_value();
58 }

◆ seq_num()

template<typename M >
uint64_t apollo::cyber::transport::Transmitter< M >::seq_num ( ) const
inline

在文件 transmitter.h60 行定义.

60{ return seq_num_->get_value(); }

◆ Transmit() [1/2]

template<typename M >
bool apollo::cyber::transport::Transmitter< M >::Transmit ( const MessagePtr msg)
virtual

在文件 transmitter.h79 行定义.

79 {
81 msg_info_.set_send_time(Time::Now().ToNanosecond());
82 PerfEventCache::Instance()->AddTransportEvent(
83 TransPerf::TRANSMIT_BEGIN, attr_.channel_id(), msg_info_.seq_num());
84 return Transmit(msg, msg_info_);
85}
static Time Now()
get the current time.
Definition time.cc:57
void set_send_time(uint64_t send_time)
virtual bool Transmit(const MessagePtr &msg)
Definition transmitter.h:79

◆ Transmit() [2/2]

类成员变量说明

◆ msg_info_

template<typename M >
MessageInfo apollo::cyber::transport::Transmitter< M >::msg_info_
protected

在文件 transmitter.h63 行定义.

◆ seq_num_

template<typename M >
std::shared_ptr<::bvar::Adder<int> > apollo::cyber::transport::Transmitter< M >::seq_num_
protected

在文件 transmitter.h64 行定义.


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