Apollo  6.0
Open source self driving car software
Public Member Functions | Protected Attributes | List of all members
apollo::cyber::transport::Dispatcher Class Reference

#include <dispatcher.h>

Inheritance diagram for apollo::cyber::transport::Dispatcher:
Inheritance graph
Collaboration diagram for apollo::cyber::transport::Dispatcher:
Collaboration graph

Public Member Functions

 Dispatcher ()
 
virtual ~Dispatcher ()
 
virtual void Shutdown ()
 
template<typename MessageT >
void AddListener (const RoleAttributes &self_attr, const MessageListener< MessageT > &listener)
 
template<typename MessageT >
void AddListener (const RoleAttributes &self_attr, const RoleAttributes &opposite_attr, const MessageListener< MessageT > &listener)
 
template<typename MessageT >
void RemoveListener (const RoleAttributes &self_attr)
 
template<typename MessageT >
void RemoveListener (const RoleAttributes &self_attr, const RoleAttributes &opposite_attr)
 
bool HasChannel (uint64_t channel_id)
 

Protected Attributes

std::atomic< bool > is_shutdown_
 
AtomicHashMap< uint64_t, ListenerHandlerBasePtrmsg_listeners_
 
base::AtomicRWLock rw_lock_
 

Constructor & Destructor Documentation

◆ Dispatcher()

apollo::cyber::transport::Dispatcher::Dispatcher ( )

◆ ~Dispatcher()

virtual apollo::cyber::transport::Dispatcher::~Dispatcher ( )
virtual

Member Function Documentation

◆ AddListener() [1/2]

template<typename MessageT >
void apollo::cyber::transport::Dispatcher::AddListener ( const RoleAttributes &  self_attr,
const MessageListener< MessageT > &  listener 
)

◆ AddListener() [2/2]

template<typename MessageT >
void apollo::cyber::transport::Dispatcher::AddListener ( const RoleAttributes &  self_attr,
const RoleAttributes &  opposite_attr,
const MessageListener< MessageT > &  listener 
)

◆ HasChannel()

bool apollo::cyber::transport::Dispatcher::HasChannel ( uint64_t  channel_id)

◆ RemoveListener() [1/2]

template<typename MessageT >
void apollo::cyber::transport::Dispatcher::RemoveListener ( const RoleAttributes &  self_attr)

◆ RemoveListener() [2/2]

template<typename MessageT >
void apollo::cyber::transport::Dispatcher::RemoveListener ( const RoleAttributes &  self_attr,
const RoleAttributes &  opposite_attr 
)

◆ Shutdown()

virtual void apollo::cyber::transport::Dispatcher::Shutdown ( )
virtual

Member Data Documentation

◆ is_shutdown_

std::atomic<bool> apollo::cyber::transport::Dispatcher::is_shutdown_
protected

◆ msg_listeners_

AtomicHashMap<uint64_t, ListenerHandlerBasePtr> apollo::cyber::transport::Dispatcher::msg_listeners_
protected

◆ rw_lock_

base::AtomicRWLock apollo::cyber::transport::Dispatcher::rw_lock_
protected

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