OpenRTM-aist 2.1.0
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 限定公開型 | 限定公開メンバ関数 | 全メンバ一覧
RTC::PublisherPeriodic クラス

PublisherPeriodic クラス [詳解]

#include <PublisherPeriodic.h>

RTC::PublisherPeriodic の継承関係図
Inheritance graph
[凡例]
RTC::PublisherPeriodic 連携図
Collaboration graph
[凡例]

公開メンバ関数

 PublisherPeriodic ()
 コンストラクタ
 
 ~PublisherPeriodic () override
 デストラクタ
 
DataPortStatus init (coil::Properties &prop) override
 初期化
 
DataPortStatus setConsumer (InPortConsumer *consumer) override
 InPortコンシューマのセット
 
DataPortStatus setBuffer (CdrBufferBase *buffer) override
 バッファのセット
 
DataPortStatus setListener (ConnectorInfo &info, ConnectorListenersBase *listeners) override
 リスナを設定する。
 
DataPortStatus write (ByteDataStreamBase *data, std::chrono::nanoseconds timeout) override
 データを書き込む
 
bool isActive () override
 アクティブ化確認
 
DataPortStatus activate () override
 アクティブ化する
 
DataPortStatus deactivate () override
 非アクティブ化する
 
virtual int svc ()
 スレッド実行関数
 
- 基底クラス RTC::PublisherBase に属する継承公開メンバ関数
virtual ~PublisherBase ()=default
 デストラクタ
 
virtual DataPortStatus setBuffer (BufferBase< ByteData > *buffer)=0
 バッファのセット
 
virtual void release ()
 Publisher を破棄する。
 

限定公開型

enum  Policy { PUBLISHER_POLICY_ALL , PUBLISHER_POLICY_FIFO , PUBLISHER_POLICY_SKIP , PUBLISHER_POLICY_NEW }
 

限定公開メンバ関数

void setPushPolicy (const coil::Properties &prop)
 PushPolicy の設定
 
bool createTask (const coil::Properties &prop)
 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)
 BufferStatus から DataPortStatus への変換
 
DataPortStatus invokeListener (DataPortStatus status, ByteData &data)
 DataPortStatusに従ってリスナへ通知する関数を呼び出す。
 
void onBufferWrite (ByteData &data)
 ON_BUFFER_WRITEのリスナへ通知する。
 
void onBufferFull (ByteData &data)
 ON_BUFFER_FULLリスナへイベントを通知する。
 
void onBufferWriteTimeout (ByteData &data)
 ON_BUFFER_WRITE_TIMEOUTのリスナへ通知する。
 
void onBufferRead (ByteData &data)
 ON_BUFFER_READのリスナへ通知する。
 
void onSend (ByteData &data)
 ON_SENDのリスナへ通知する。
 
void onReceived (ByteData &data)
 ON_RECEIVEDのリスナへ通知する。
 
void onReceiverFull (ByteData &data)
 ON_RECEIVER_FULLのリスナへ通知する。
 
void onReceiverTimeout (ByteData &data)
 ON_RECEIVER_TIMEOUTのリスナへ通知する。
 
void onReceiverError (ByteData &data)
 ON_RECEIVER_ERRORのリスナへ通知する。
 
void onBufferEmpty ()
 ON_BUFFER_EMPTYのリスナへ通知する。
 
void onSenderEmpty ()
 ON_SENDER_EMPTYのリスナへ通知する。
 
void onSenderError ()
 ON_SENDER_ERRORのリスナへ通知する。
 

詳解

PublisherPeriodic クラス

周期的にデータを送信するための Publisher クラス。このクラスは、通 常 Connector 内にあって、バッファおよびコンシューマに関連付けられ る。一定周期ごとにバッファからデータを取り出しコンシューマに対して データを送出する。

列挙型メンバ詳解

◆ Policy

列挙値
PUBLISHER_POLICY_ALL 
PUBLISHER_POLICY_FIFO 
PUBLISHER_POLICY_SKIP 
PUBLISHER_POLICY_NEW 

構築子と解体子

◆ PublisherPeriodic()

RTC::PublisherPeriodic::PublisherPeriodic ( )

コンストラクタ

◆ ~PublisherPeriodic()

RTC::PublisherPeriodic::~PublisherPeriodic ( )
override

デストラクタ

関数詳解

◆ activate()

DataPortStatus RTC::PublisherPeriodic::activate ( )
overridevirtual

アクティブ化する

RTC::PublisherBaseを実装しています。

◆ convertReturn()

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

BufferStatus から DataPortStatus への変換

◆ createTask()

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

Task の設定

◆ deactivate()

DataPortStatus RTC::PublisherPeriodic::deactivate ( )
overridevirtual

非アクティブ化する

RTC::PublisherBaseを実装しています。

◆ init()

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

初期化

RTC::PublisherBaseを実装しています。

◆ invokeListener()

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

DataPortStatusに従ってリスナへ通知する関数を呼び出す。

◆ isActive()

bool RTC::PublisherPeriodic::isActive ( )
overridevirtual

アクティブ化確認

Publisher はデータポートと同期して activate/deactivate される。 activate() / deactivate() 関数によって、アクティブ状態と非アクティ ブ状態が切り替わる。この関数により、現在アクティブ状態か、非アク ティブ状態かを確認することができる。

戻り値
状態確認結果(アクティブ状態:true、非アクティブ状態:false)

RTC::PublisherBaseを実装しています。

◆ onBufferEmpty()

void RTC::PublisherPeriodic::onBufferEmpty ( )
inlineprotected

ON_BUFFER_EMPTYのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notify(), RTC::ON_BUFFER_EMPTY.

◆ onBufferFull()

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

ON_BUFFER_FULLリスナへイベントを通知する。

参照先 RTC::ConnectorListenersBase::notifyOut(), RTC::ON_BUFFER_FULL.

◆ onBufferRead()

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

ON_BUFFER_READのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notifyOut(), RTC::ON_BUFFER_READ.

◆ onBufferWrite()

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

ON_BUFFER_WRITEのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notifyOut(), RTC::ON_BUFFER_WRITE.

◆ onBufferWriteTimeout()

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

ON_BUFFER_WRITE_TIMEOUTのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notifyOut(), RTC::ON_BUFFER_WRITE_TIMEOUT.

◆ onReceived()

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

ON_RECEIVEDのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notifyOut(), RTC::ON_RECEIVED.

◆ onReceiverError()

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

ON_RECEIVER_ERRORのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notifyOut(), RTC::ON_RECEIVER_ERROR.

◆ onReceiverFull()

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

ON_RECEIVER_FULLのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notifyOut(), RTC::ON_RECEIVER_FULL.

◆ onReceiverTimeout()

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

ON_RECEIVER_TIMEOUTのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notifyOut(), RTC::ON_RECEIVER_TIMEOUT.

◆ onSend()

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

ON_SENDのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notifyOut(), RTC::ON_SEND.

◆ onSenderEmpty()

void RTC::PublisherPeriodic::onSenderEmpty ( )
inlineprotected

ON_SENDER_EMPTYのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notify(), RTC::ON_SENDER_EMPTY.

◆ onSenderError()

void RTC::PublisherPeriodic::onSenderError ( )
inlineprotected

ON_SENDER_ERRORのリスナへ通知する。

参照先 RTC::ConnectorListenersBase::notify(), 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

バッファのセット

◆ setConsumer()

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

InPortコンシューマのセット

RTC::PublisherBaseを実装しています。

◆ setListener()

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

リスナを設定する。

RTC::PublisherBaseを実装しています。

◆ setPushPolicy()

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

PushPolicy の設定

◆ svc()

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

スレッド実行関数

◆ write()

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

データを書き込む

RTC::PublisherBaseを実装しています。


このクラス詳解は次のファイルから抽出されました: