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

PublisherNew クラス [詳解]

#include <PublisherNew.h>

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

公開メンバ関数

 PublisherNew ()
 コンストラクタ
 
 ~PublisherNew () 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 onBufferWriteOverwrite (ByteData &data)
 ON_BUFFER_OVERWRITEのリスナへ通知する。
 
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 onSenderError ()
 ON_SENDER_ERRORのリスナへ通知する。
 

詳解

PublisherNew クラス

バッファ内に新規データが格納されたタイミングで、その新規データを送信する。 データ送出タイミングを待つコンシューマを、送出する側とは異なるスレッドで 動作させる場合に使用。 Publisherの駆動は、データ送出のタイミングになるまでブロックされ、 送出タイミングの通知を受けると、即座にコンシューマの送出処理を呼び出す。

列挙型メンバ詳解

◆ Policy

enum RTC::PublisherNew::Policy
protected
列挙値
PUBLISHER_POLICY_ALL 
PUBLISHER_POLICY_FIFO 
PUBLISHER_POLICY_SKIP 
PUBLISHER_POLICY_NEW 

構築子と解体子

◆ PublisherNew()

RTC::PublisherNew::PublisherNew ( )

コンストラクタ

◆ ~PublisherNew()

RTC::PublisherNew::~PublisherNew ( )
override

デストラクタ

関数詳解

◆ activate()

DataPortStatus RTC::PublisherNew::activate ( )
overridevirtual

アクティブ化する

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

◆ convertReturn()

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

BufferStatus から DataPortStatus への変換

◆ createTask()

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

Task の設定

◆ deactivate()

DataPortStatus RTC::PublisherNew::deactivate ( )
overridevirtual

非アクティブ化する

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

◆ init()

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

初期化

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

◆ invokeListener()

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

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

◆ isActive()

bool RTC::PublisherNew::isActive ( )
overridevirtual

アクティブ化確認

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

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

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

◆ onBufferFull()

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

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

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

◆ onBufferRead()

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

ON_BUFFER_READのリスナへ通知する。

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

◆ onBufferWrite()

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

ON_BUFFER_WRITEのリスナへ通知する。

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

◆ onBufferWriteOverwrite()

void RTC::PublisherNew::onBufferWriteOverwrite ( ByteData data)
inlineprotected

ON_BUFFER_OVERWRITEのリスナへ通知する。

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

◆ onBufferWriteTimeout()

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

ON_BUFFER_WRITE_TIMEOUTのリスナへ通知する。

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

◆ onReceived()

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

ON_RECEIVEDのリスナへ通知する。

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

◆ onReceiverError()

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

ON_RECEIVER_ERRORのリスナへ通知する。

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

◆ onReceiverFull()

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

ON_RECEIVER_FULLのリスナへ通知する。

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

◆ onReceiverTimeout()

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

ON_RECEIVER_TIMEOUTのリスナへ通知する。

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

◆ onSend()

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

ON_SENDのリスナへ通知する。

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

◆ onSenderError()

void RTC::PublisherNew::onSenderError ( )
inlineprotected

ON_SENDER_ERRORのリスナへ通知する。

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

◆ pushAll()

DataPortStatus RTC::PublisherNew::pushAll ( )
protected

push "all" policy

◆ pushFifo()

DataPortStatus RTC::PublisherNew::pushFifo ( )
protected

push "fifo" policy

◆ pushNew()

DataPortStatus RTC::PublisherNew::pushNew ( )
protected

push "new" policy

◆ pushSkip()

DataPortStatus RTC::PublisherNew::pushSkip ( )
protected

push "skip" policy

◆ setBuffer()

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

バッファのセット

◆ setConsumer()

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

InPortコンシューマのセット

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

◆ setListener()

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

リスナを設定する。

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

◆ setPushPolicy()

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

PushPolicy の設定

◆ svc()

virtual int RTC::PublisherNew::svc ( )
virtual

スレッド実行関数

◆ write()

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

データを書き込む

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


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