OpenRTM-aist 2.1.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Types | Protected Member Functions | List of all members
RTC::PublisherPeriodic Class Reference

PublisherPeriodic class. More...

#include <PublisherPeriodic.h>

Inheritance diagram for RTC::PublisherPeriodic:
Inheritance graph
[legend]
Collaboration diagram for RTC::PublisherPeriodic:
Collaboration graph
[legend]

Public Member Functions

 PublisherPeriodic ()
 Constructor.
 
 ~PublisherPeriodic () override
 Destructor.
 
DataPortStatus init (coil::Properties &prop) override
 Initialization.
 
DataPortStatus setConsumer (InPortConsumer *consumer) override
 Store InPort consumer.
 
DataPortStatus setBuffer (CdrBufferBase *buffer) override
 Setting buffer pointer.
 
DataPortStatus setListener (ConnectorInfo &info, ConnectorListenersBase *listeners) override
 Set the listener.
 
DataPortStatus write (ByteDataStreamBase *data, std::chrono::nanoseconds timeout) override
 Write data.
 
bool isActive () override
 If publisher is active state.
 
DataPortStatus activate () override
 activation
 
DataPortStatus deactivate () override
 deactivation
 
virtual int svc ()
 Thread execution function.
 
- Public Member Functions inherited from RTC::PublisherBase
virtual ~PublisherBase ()=default
 Destructor.
 
virtual DataPortStatus setBuffer (BufferBase< ByteData > *buffer)=0
 Setting buffer pointer.
 
virtual void release ()
 Release the Publisher.
 

Protected Types

enum  Policy { PUBLISHER_POLICY_ALL , PUBLISHER_POLICY_FIFO , PUBLISHER_POLICY_SKIP , PUBLISHER_POLICY_NEW }
 

Protected Member Functions

void setPushPolicy (const coil::Properties &prop)
 Setting PushPolicy .
 
bool createTask (const coil::Properties &prop)
 Setting Task .
 
DataPortStatus pushAll ()
 push "all" policy
 
DataPortStatus pushFifo ()
 push "fifo" policy
 
DataPortStatus pushSkip ()
 push "skip" policy
 
DataPortStatus pushNew ()
 push "new" policy
 
DataPortStatus convertReturn (BufferStatus status, ByteData &data)
 Convertion from BufferStatus to DataPortStatus.
 
DataPortStatus invokeListener (DataPortStatus status, ByteData &data)
 Call listeners according to the DataPortStatus.
 
void onBufferWrite (ByteData &data)
 Notify an ON_BUFFER_WRITE event to listeners.
 
void onBufferFull (ByteData &data)
 Notify an ON_BUFFER_FULL event to listeners.
 
void onBufferWriteTimeout (ByteData &data)
 Notify an ON_BUFFER_WRITE_TIMEOUT event to listeners.
 
void onBufferRead (ByteData &data)
 Notify an ON_BUFFER_READ event to listeners.
 
void onSend (ByteData &data)
 Notify an ON_SEND event to listners.
 
void onReceived (ByteData &data)
 Notify an ON_RECEIVED event to listeners.
 
void onReceiverFull (ByteData &data)
 Notify an ON_RECEIVER_FULL event to listeners.
 
void onReceiverTimeout (ByteData &data)
 Notify an ON_RECEIVER_TIMEOUT event to listeners.
 
void onReceiverError (ByteData &data)
 Notify an ON_RECEIVER_ERROR event to listeners.
 
void onBufferEmpty ()
 Notify an ON_BUFFER_EMPTY event to listeners .
 
void onSenderEmpty ()
 Notify an ON_SENDER_EMPTY event to listeners .
 
void onSenderError ()
 Notify an ON_SENDER_ERROR event to listeners .
 

Detailed Description

PublisherPeriodic class.

Publisher for periodic data transmitting. Usually this class object exists in a Connector object, and it is associated with a buffer and a consumer. This publisher periodically gets data from the buffer and publish it into the consumer.

Member Enumeration Documentation

◆ Policy

Enumerator
PUBLISHER_POLICY_ALL 
PUBLISHER_POLICY_FIFO 
PUBLISHER_POLICY_SKIP 
PUBLISHER_POLICY_NEW 

Constructor & Destructor Documentation

◆ PublisherPeriodic()

RTC::PublisherPeriodic::PublisherPeriodic ( )

Constructor.

◆ ~PublisherPeriodic()

RTC::PublisherPeriodic::~PublisherPeriodic ( )
override

Destructor.

Member Function Documentation

◆ activate()

DataPortStatus RTC::PublisherPeriodic::activate ( )
overridevirtual

activation

Implements RTC::PublisherBase.

◆ convertReturn()

DataPortStatus RTC::PublisherPeriodic::convertReturn ( BufferStatus  status,
ByteData data 
)
protected

Convertion from BufferStatus to DataPortStatus.

◆ createTask()

bool RTC::PublisherPeriodic::createTask ( const coil::Properties &  prop)
protected

Setting Task .

◆ deactivate()

DataPortStatus RTC::PublisherPeriodic::deactivate ( )
overridevirtual

deactivation

Implements RTC::PublisherBase.

◆ init()

DataPortStatus RTC::PublisherPeriodic::init ( coil::Properties &  prop)
overridevirtual

Initialization.

Implements RTC::PublisherBase.

◆ invokeListener()

DataPortStatus RTC::PublisherPeriodic::invokeListener ( DataPortStatus  status,
ByteData data 
)
protected

Call listeners according to the DataPortStatus.

◆ isActive()

bool RTC::PublisherPeriodic::isActive ( )
overridevirtual

If publisher is active state.

A Publisher can be activated/deactivated synchronized with the data port. The active state and the non-active state are made transition by the "activate()" and the "deactivate()" functions respectively. This function confirms if the publisher is in active state.

Returns
Result of state confirmation (Active state:true, Inactive state:false)

Implements RTC::PublisherBase.

◆ onBufferEmpty()

void RTC::PublisherPeriodic::onBufferEmpty ( )
inlineprotected

Notify an ON_BUFFER_EMPTY event to listeners .

References RTC::ConnectorListenersBase::notify(), and RTC::ON_BUFFER_EMPTY.

◆ onBufferFull()

void RTC::PublisherPeriodic::onBufferFull ( ByteData data)
inlineprotected

Notify an ON_BUFFER_FULL event to listeners.

References RTC::ConnectorListenersBase::notifyOut(), and RTC::ON_BUFFER_FULL.

◆ onBufferRead()

void RTC::PublisherPeriodic::onBufferRead ( ByteData data)
inlineprotected

Notify an ON_BUFFER_READ event to listeners.

References RTC::ConnectorListenersBase::notifyOut(), and RTC::ON_BUFFER_READ.

◆ onBufferWrite()

void RTC::PublisherPeriodic::onBufferWrite ( ByteData data)
inlineprotected

Notify an ON_BUFFER_WRITE event to listeners.

References RTC::ConnectorListenersBase::notifyOut(), and RTC::ON_BUFFER_WRITE.

◆ onBufferWriteTimeout()

void RTC::PublisherPeriodic::onBufferWriteTimeout ( ByteData data)
inlineprotected

Notify an ON_BUFFER_WRITE_TIMEOUT event to listeners.

References RTC::ConnectorListenersBase::notifyOut(), and RTC::ON_BUFFER_WRITE_TIMEOUT.

◆ onReceived()

void RTC::PublisherPeriodic::onReceived ( ByteData data)
inlineprotected

Notify an ON_RECEIVED event to listeners.

References RTC::ConnectorListenersBase::notifyOut(), and RTC::ON_RECEIVED.

◆ onReceiverError()

void RTC::PublisherPeriodic::onReceiverError ( ByteData data)
inlineprotected

Notify an ON_RECEIVER_ERROR event to listeners.

References RTC::ConnectorListenersBase::notifyOut(), and RTC::ON_RECEIVER_ERROR.

◆ onReceiverFull()

void RTC::PublisherPeriodic::onReceiverFull ( ByteData data)
inlineprotected

Notify an ON_RECEIVER_FULL event to listeners.

References RTC::ConnectorListenersBase::notifyOut(), and RTC::ON_RECEIVER_FULL.

◆ onReceiverTimeout()

void RTC::PublisherPeriodic::onReceiverTimeout ( ByteData data)
inlineprotected

Notify an ON_RECEIVER_TIMEOUT event to listeners.

References RTC::ConnectorListenersBase::notifyOut(), and RTC::ON_RECEIVER_TIMEOUT.

◆ onSend()

void RTC::PublisherPeriodic::onSend ( ByteData data)
inlineprotected

Notify an ON_SEND event to listners.

References RTC::ConnectorListenersBase::notifyOut(), and RTC::ON_SEND.

◆ onSenderEmpty()

void RTC::PublisherPeriodic::onSenderEmpty ( )
inlineprotected

Notify an ON_SENDER_EMPTY event to listeners .

References RTC::ConnectorListenersBase::notify(), and RTC::ON_SENDER_EMPTY.

◆ onSenderError()

void RTC::PublisherPeriodic::onSenderError ( )
inlineprotected

Notify an ON_SENDER_ERROR event to listeners .

References RTC::ConnectorListenersBase::notify(), and RTC::ON_SENDER_ERROR.

◆ pushAll()

DataPortStatus RTC::PublisherPeriodic::pushAll ( )
protected

push "all" policy

◆ pushFifo()

DataPortStatus RTC::PublisherPeriodic::pushFifo ( )
protected

push "fifo" policy

◆ pushNew()

DataPortStatus RTC::PublisherPeriodic::pushNew ( )
protected

push "new" policy

◆ pushSkip()

DataPortStatus RTC::PublisherPeriodic::pushSkip ( )
protected

push "skip" policy

◆ setBuffer()

DataPortStatus RTC::PublisherPeriodic::setBuffer ( CdrBufferBase buffer)
override

Setting buffer pointer.

◆ setConsumer()

DataPortStatus RTC::PublisherPeriodic::setConsumer ( InPortConsumer consumer)
overridevirtual

Store InPort consumer.

Implements RTC::PublisherBase.

◆ setListener()

DataPortStatus RTC::PublisherPeriodic::setListener ( ConnectorInfo info,
ConnectorListenersBase listeners 
)
overridevirtual

Set the listener.

Implements RTC::PublisherBase.

◆ setPushPolicy()

void RTC::PublisherPeriodic::setPushPolicy ( const coil::Properties &  prop)
protected

Setting PushPolicy .

◆ svc()

virtual int RTC::PublisherPeriodic::svc ( )
virtual

Thread execution function.

◆ write()

DataPortStatus RTC::PublisherPeriodic::write ( ByteDataStreamBase data,
std::chrono::nanoseconds  timeout 
)
overridevirtual

Write data.

Implements RTC::PublisherBase.


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