Apollo  6.0
Open source self driving car software
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
apollo::cyber::transport::Receiver< M > Class Template Referenceabstract

#include <receiver.h>

Inheritance diagram for apollo::cyber::transport::Receiver< M >:
Inheritance graph
Collaboration diagram for apollo::cyber::transport::Receiver< M >:
Collaboration graph

Public Types

using MessagePtr = std::shared_ptr< M >
 
using MessageListener = std::function< void(const MessagePtr &, const MessageInfo &, const RoleAttributes &)>
 

Public Member Functions

 Receiver (const RoleAttributes &attr, const MessageListener &msg_listener)
 
virtual ~Receiver ()
 
virtual void Enable ()=0
 
virtual void Disable ()=0
 
virtual void Enable (const RoleAttributes &opposite_attr)=0
 
virtual void Disable (const RoleAttributes &opposite_attr)=0
 
- Public Member Functions inherited from apollo::cyber::transport::Endpoint
 Endpoint (const RoleAttributes &attr)
 
virtual ~Endpoint ()
 
const Identityid () const
 
const RoleAttributes & attributes () const
 

Protected Member Functions

void OnNewMessage (const MessagePtr &msg, const MessageInfo &msg_info)
 

Protected Attributes

MessageListener msg_listener_
 
- Protected Attributes inherited from apollo::cyber::transport::Endpoint
bool enabled_
 
Identity id_
 
RoleAttributes attr_
 

Member Typedef Documentation

◆ MessageListener

template<typename M>
using apollo::cyber::transport::Receiver< M >::MessageListener = std::function<void( const MessagePtr&, const MessageInfo&, const RoleAttributes&)>

◆ MessagePtr

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

Constructor & Destructor Documentation

◆ Receiver()

template<typename M >
apollo::cyber::transport::Receiver< M >::Receiver ( const RoleAttributes &  attr,
const MessageListener msg_listener 
)

◆ ~Receiver()

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

Member Function Documentation

◆ Disable() [1/2]

template<typename M>
virtual void apollo::cyber::transport::Receiver< M >::Disable ( )
pure virtual

◆ Disable() [2/2]

template<typename M>
virtual void apollo::cyber::transport::Receiver< M >::Disable ( const RoleAttributes &  opposite_attr)
pure virtual

◆ Enable() [1/2]

template<typename M>
virtual void apollo::cyber::transport::Receiver< M >::Enable ( )
pure virtual

◆ Enable() [2/2]

template<typename M>
virtual void apollo::cyber::transport::Receiver< M >::Enable ( const RoleAttributes &  opposite_attr)
pure virtual

◆ OnNewMessage()

template<typename M >
void apollo::cyber::transport::Receiver< M >::OnNewMessage ( const MessagePtr msg,
const MessageInfo msg_info 
)
protected

Member Data Documentation

◆ msg_listener_

template<typename M>
MessageListener apollo::cyber::transport::Receiver< M >::msg_listener_
protected

The documentation for this class was generated from the following file: