Apollo  6.0
Open source self driving car software
Public Types | Public Member Functions | Friends | List of all members
apollo::cyber::blocker::Blocker< T > Class Template Reference

#include <blocker.h>

Inheritance diagram for apollo::cyber::blocker::Blocker< T >:
Inheritance graph
Collaboration diagram for apollo::cyber::blocker::Blocker< T >:
Collaboration graph

Public Types

using MessageType = T
 
using MessagePtr = std::shared_ptr< T >
 
using MessageQueue = std::list< MessagePtr >
 
using Callback = std::function< void(const MessagePtr &)>
 
using CallbackMap = std::unordered_map< std::string, Callback >
 
using Iterator = typename std::list< std::shared_ptr< T > >::const_iterator
 

Public Member Functions

 Blocker (const BlockerAttr &attr)
 
virtual ~Blocker ()
 
void Publish (const MessageType &msg)
 
void Publish (const MessagePtr &msg)
 
void ClearObserved () override
 
void ClearPublished () override
 
void Observe () override
 
bool IsObservedEmpty () const override
 
bool IsPublishedEmpty () const override
 
bool Subscribe (const std::string &callback_id, const Callback &callback)
 
bool Unsubscribe (const std::string &callback_id) override
 
const MessageTypeGetLatestObserved () const
 
const MessagePtr GetLatestObservedPtr () const
 
const MessagePtr GetOldestObservedPtr () const
 
const MessagePtr GetLatestPublishedPtr () const
 
Iterator ObservedBegin () const
 
Iterator ObservedEnd () const
 
size_t capacity () const override
 
void set_capacity (size_t capacity) override
 
const std::string & channel_name () const override
 
- Public Member Functions inherited from apollo::cyber::blocker::BlockerBase
virtual ~BlockerBase ()=default
 

Friends

class BlockerManager
 

Member Typedef Documentation

◆ Callback

template<typename T>
using apollo::cyber::blocker::Blocker< T >::Callback = std::function<void(const MessagePtr&)>

◆ CallbackMap

template<typename T>
using apollo::cyber::blocker::Blocker< T >::CallbackMap = std::unordered_map<std::string, Callback>

◆ Iterator

template<typename T>
using apollo::cyber::blocker::Blocker< T >::Iterator = typename std::list<std::shared_ptr<T> >::const_iterator

◆ MessagePtr

template<typename T>
using apollo::cyber::blocker::Blocker< T >::MessagePtr = std::shared_ptr<T>

◆ MessageQueue

template<typename T>
using apollo::cyber::blocker::Blocker< T >::MessageQueue = std::list<MessagePtr>

◆ MessageType

template<typename T>
using apollo::cyber::blocker::Blocker< T >::MessageType = T

Constructor & Destructor Documentation

◆ Blocker()

template<typename T >
apollo::cyber::blocker::Blocker< T >::Blocker ( const BlockerAttr attr)
explicit

◆ ~Blocker()

template<typename T >
apollo::cyber::blocker::Blocker< T >::~Blocker ( )
virtual

Member Function Documentation

◆ capacity()

template<typename T >
size_t apollo::cyber::blocker::Blocker< T >::capacity ( ) const
overridevirtual

◆ channel_name()

template<typename T >
const std::string & apollo::cyber::blocker::Blocker< T >::channel_name ( ) const
overridevirtual

◆ ClearObserved()

template<typename T >
void apollo::cyber::blocker::Blocker< T >::ClearObserved ( )
overridevirtual

◆ ClearPublished()

template<typename T >
void apollo::cyber::blocker::Blocker< T >::ClearPublished ( )
overridevirtual

◆ GetLatestObserved()

template<typename T >
auto apollo::cyber::blocker::Blocker< T >::GetLatestObserved ( ) const

◆ GetLatestObservedPtr()

template<typename T >
auto apollo::cyber::blocker::Blocker< T >::GetLatestObservedPtr ( ) const

◆ GetLatestPublishedPtr()

template<typename T >
auto apollo::cyber::blocker::Blocker< T >::GetLatestPublishedPtr ( ) const

◆ GetOldestObservedPtr()

template<typename T >
auto apollo::cyber::blocker::Blocker< T >::GetOldestObservedPtr ( ) const

◆ IsObservedEmpty()

template<typename T >
bool apollo::cyber::blocker::Blocker< T >::IsObservedEmpty ( ) const
overridevirtual

◆ IsPublishedEmpty()

template<typename T >
bool apollo::cyber::blocker::Blocker< T >::IsPublishedEmpty ( ) const
overridevirtual

◆ Observe()

template<typename T >
void apollo::cyber::blocker::Blocker< T >::Observe ( )
overridevirtual

◆ ObservedBegin()

template<typename T >
auto apollo::cyber::blocker::Blocker< T >::ObservedBegin ( ) const

◆ ObservedEnd()

template<typename T >
auto apollo::cyber::blocker::Blocker< T >::ObservedEnd ( ) const

◆ Publish() [1/2]

template<typename T >
void apollo::cyber::blocker::Blocker< T >::Publish ( const MessageType msg)

◆ Publish() [2/2]

template<typename T >
void apollo::cyber::blocker::Blocker< T >::Publish ( const MessagePtr msg)

◆ set_capacity()

template<typename T >
void apollo::cyber::blocker::Blocker< T >::set_capacity ( size_t  capacity)
overridevirtual

◆ Subscribe()

template<typename T >
bool apollo::cyber::blocker::Blocker< T >::Subscribe ( const std::string &  callback_id,
const Callback callback 
)

◆ Unsubscribe()

template<typename T >
bool apollo::cyber::blocker::Blocker< T >::Unsubscribe ( const std::string &  callback_id)
overridevirtual

Friends And Related Function Documentation

◆ BlockerManager

template<typename T>
friend class BlockerManager
friend

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