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

#include <intra_reader.h>

Inheritance diagram for apollo::cyber::blocker::IntraReader< MessageT >:
Inheritance graph
Collaboration diagram for apollo::cyber::blocker::IntraReader< MessageT >:
Collaboration graph

Public Types

using MessagePtr = std::shared_ptr< MessageT >
 
using Callback = std::function< void(const std::shared_ptr< MessageT > &)>
 
using Iterator = typename std::list< std::shared_ptr< MessageT > >::const_iterator
 
- Public Types inherited from apollo::cyber::Reader< MessageT >
using BlockerPtr = std::unique_ptr< blocker::Blocker< MessageT > >
 
using ReceiverPtr = std::shared_ptr< transport::Receiver< MessageT > >
 
using ChangeConnection = typename service_discovery::Manager::ChangeConnection
 
using Iterator = typename std::list< std::shared_ptr< MessageT > >::const_iterator
 

Public Member Functions

 IntraReader (const proto::RoleAttributes &attr, const Callback &callback)
 
virtual ~IntraReader ()
 
bool Init () override
 Init the Reader object. More...
 
void Shutdown () override
 Shutdown the Reader object. More...
 
void ClearData () override
 Clear local data. More...
 
void Observe () override
 Get stored data. More...
 
bool Empty () const override
 Query whether the Reader has data to be handled. More...
 
bool HasReceived () const override
 Query whether we have received data since last clear. More...
 
void Enqueue (const std::shared_ptr< MessageT > &msg) override
 Push msg to Blocker's PublishQueue More...
 
void SetHistoryDepth (const uint32_t &depth) override
 Set Blocker's PublishQueue's capacity to depth More...
 
uint32_t GetHistoryDepth () const override
 Get Blocker's PublishQueue's capacity. More...
 
std::shared_ptr< MessageT > GetLatestObserved () const override
 Get the latest message we Observe More...
 
std::shared_ptr< MessageT > GetOldestObserved () const override
 Get the oldest message we Observe More...
 
Iterator Begin () const override
 Get the begin iterator of ObserveQueue, used to traverse. More...
 
Iterator End () const override
 Get the end iterator of ObserveQueue, used to traverse. More...
 
- Public Member Functions inherited from apollo::cyber::Reader< MessageT >
 Reader (const proto::RoleAttributes &role_attr, const CallbackFunc< MessageT > &reader_func=nullptr, uint32_t pending_queue_size=DEFAULT_PENDING_QUEUE_SIZE)
 
virtual ~Reader ()
 
bool Init () override
 Init Reader. More...
 
void Shutdown () override
 Shutdown Reader. More...
 
void Observe () override
 Get All data that Blocker stores. More...
 
void ClearData () override
 Clear Blocker's data. More...
 
bool HasReceived () const override
 Query whether we have received data since last clear. More...
 
bool Empty () const override
 Query whether the Reader has data to be handled. More...
 
double GetDelaySec () const override
 Get time interval of since last receive message. More...
 
uint32_t PendingQueueSize () const override
 Get pending_queue_size configuration. More...
 
bool HasWriter () override
 Is there is at least one writer publish the channel that we subscribes? More...
 
void GetWriters (std::vector< proto::RoleAttributes > *writers) override
 Get all writers pushlish the channel we subscribes. More...
 
- Public Member Functions inherited from apollo::cyber::ReaderBase
 ReaderBase (const proto::RoleAttributes &role_attr)
 
virtual ~ReaderBase ()
 
const std::string & GetChannelName () const
 Get Reader's Channel name. More...
 
uint64_t ChannelId () const
 Get Reader's Channel id. More...
 
const proto::QosProfile & QosProfile () const
 Get qos profile. You can see qos description. More...
 
bool IsInit () const
 Query whether the Reader is initialized. More...
 

Additional Inherited Members

- Protected Attributes inherited from apollo::cyber::Reader< MessageT >
double latest_recv_time_sec_ = -1.0
 
double second_to_lastest_recv_time_sec_ = -1.0
 
uint32_t pending_queue_size_
 
- Protected Attributes inherited from apollo::cyber::ReaderBase
proto::RoleAttributes role_attr_
 
std::atomic< bool > init_
 

Member Typedef Documentation

◆ Callback

template<typename MessageT >
using apollo::cyber::blocker::IntraReader< MessageT >::Callback = std::function<void(const std::shared_ptr<MessageT>&)>

◆ Iterator

template<typename MessageT >
using apollo::cyber::blocker::IntraReader< MessageT >::Iterator = typename std::list<std::shared_ptr<MessageT> >::const_iterator

◆ MessagePtr

template<typename MessageT >
using apollo::cyber::blocker::IntraReader< MessageT >::MessagePtr = std::shared_ptr<MessageT>

Constructor & Destructor Documentation

◆ IntraReader()

template<typename MessageT >
apollo::cyber::blocker::IntraReader< MessageT >::IntraReader ( const proto::RoleAttributes &  attr,
const Callback callback 
)

◆ ~IntraReader()

template<typename MessageT >
apollo::cyber::blocker::IntraReader< MessageT >::~IntraReader ( )
virtual

Member Function Documentation

◆ Begin()

template<typename MessageT >
auto apollo::cyber::blocker::IntraReader< MessageT >::Begin ( ) const
overridevirtual

Get the begin iterator of ObserveQueue, used to traverse.

Returns
Iterator begin iterator

Reimplemented from apollo::cyber::Reader< MessageT >.

◆ ClearData()

template<typename MessageT >
void apollo::cyber::blocker::IntraReader< MessageT >::ClearData ( )
overridevirtual

Clear local data.

Implements apollo::cyber::ReaderBase.

◆ Empty()

template<typename MessageT >
bool apollo::cyber::blocker::IntraReader< MessageT >::Empty ( ) const
overridevirtual

Query whether the Reader has data to be handled.

Returns
true if data container is empty
false if data container has data

Implements apollo::cyber::ReaderBase.

◆ End()

template<typename MessageT >
auto apollo::cyber::blocker::IntraReader< MessageT >::End ( ) const
overridevirtual

Get the end iterator of ObserveQueue, used to traverse.

Returns
Iterator begin iterator

Reimplemented from apollo::cyber::Reader< MessageT >.

◆ Enqueue()

template<typename MessageT >
void apollo::cyber::blocker::IntraReader< MessageT >::Enqueue ( const std::shared_ptr< MessageT > &  msg)
overridevirtual

Push msg to Blocker's PublishQueue

Parameters
msgmessage ptr to be pushed

Reimplemented from apollo::cyber::Reader< MessageT >.

◆ GetHistoryDepth()

template<typename MessageT >
uint32_t apollo::cyber::blocker::IntraReader< MessageT >::GetHistoryDepth ( ) const
overridevirtual

Get Blocker's PublishQueue's capacity.

Returns
uint32_t depth of the history

Reimplemented from apollo::cyber::Reader< MessageT >.

◆ GetLatestObserved()

template<typename MessageT >
std::shared_ptr< MessageT > apollo::cyber::blocker::IntraReader< MessageT >::GetLatestObserved ( ) const
overridevirtual

Get the latest message we Observe

Returns
std::shared_ptr<MessageT> the latest message

Reimplemented from apollo::cyber::Reader< MessageT >.

◆ GetOldestObserved()

template<typename MessageT >
std::shared_ptr< MessageT > apollo::cyber::blocker::IntraReader< MessageT >::GetOldestObserved ( ) const
overridevirtual

Get the oldest message we Observe

Returns
std::shared_ptr<MessageT> the oldest message

Reimplemented from apollo::cyber::Reader< MessageT >.

◆ HasReceived()

template<typename MessageT >
bool apollo::cyber::blocker::IntraReader< MessageT >::HasReceived ( ) const
overridevirtual

Query whether we have received data since last clear.

Returns
true if the reader has received data
false if the reader has not received data

Implements apollo::cyber::ReaderBase.

◆ Init()

template<typename MessageT >
bool apollo::cyber::blocker::IntraReader< MessageT >::Init ( )
overridevirtual

Init the Reader object.

Returns
true if init successfully
false if init failed

Implements apollo::cyber::ReaderBase.

◆ Observe()

template<typename MessageT >
void apollo::cyber::blocker::IntraReader< MessageT >::Observe ( )
overridevirtual

Get stored data.

Implements apollo::cyber::ReaderBase.

◆ SetHistoryDepth()

template<typename MessageT >
void apollo::cyber::blocker::IntraReader< MessageT >::SetHistoryDepth ( const uint32_t &  depth)
overridevirtual

Set Blocker's PublishQueue's capacity to depth

Parameters
depththe value you want to set

Reimplemented from apollo::cyber::Reader< MessageT >.

◆ Shutdown()

template<typename MessageT >
void apollo::cyber::blocker::IntraReader< MessageT >::Shutdown ( )
overridevirtual

Shutdown the Reader object.

Implements apollo::cyber::ReaderBase.


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