PublisherNew クラス. [詳細]
#include <PublisherNew.h>
Public 型 | |
typedef coil::Mutex | Mutex |
typedef coil::Condition< Mutex > | Condition |
typedef coil::Guard< coil::Mutex > | Guard |
Public メソッド | |
DATAPORTSTATUS_ENUM | PublisherNew () |
コンストラクタ | |
virtual | ~PublisherNew (void) |
virtual ReturnCode | init (coil::Properties &prop) |
初期化 | |
virtual ReturnCode | setConsumer (InPortConsumer *consumer) |
InPortコンシューマのセット. | |
virtual ReturnCode | setBuffer (CdrBufferBase *buffer) |
バッファのセット | |
virtual ReturnCode | setListener (ConnectorInfo &info, ConnectorListeners *listeners) |
リスナを設定する。 | |
virtual ReturnCode | write (const cdrMemoryStream &data, unsigned long sec, unsigned long usec) |
データを書き込む | |
virtual bool | isActive () |
アクティブ化確認 | |
virtual ReturnCode | activate () |
アクティブ化 | |
virtual ReturnCode | deactivate () |
非アクティブ化 | |
virtual int | svc (void) |
スレッド実行関数 | |
Protected 型 | |
enum | Policy { ALL, FIFO, SKIP, NEW } |
タスク開始 [詳細] | |
Protected メソッド | |
void | setPushPolicy (const coil::Properties &prop) |
PushPolicy の設定. | |
bool | createTask (const coil::Properties &prop) |
Task の設定. | |
ReturnCode | pushAll () |
push "all" policy | |
ReturnCode | pushFifo () |
push "fifo" policy | |
ReturnCode | pushSkip () |
push "skip" policy | |
ReturnCode | pushNew () |
push "new" policy | |
ReturnCode | convertReturn (BufferStatus::Enum status, const cdrMemoryStream &data) |
return code conversion (BufferStatus -> DataPortStatus) | |
ReturnCode | invokeListener (DataPortStatus::Enum status, const cdrMemoryStream &data) |
DataPortStatusに従ってリスナへ通知する関数を呼び出す。. | |
void | onBufferWrite (const cdrMemoryStream &data) |
Connector data listener functions. | |
void | onBufferFull (const cdrMemoryStream &data) |
ON_BUFFER_FULLのリスナへ通知する。. | |
void | onBufferWriteTimeout (const cdrMemoryStream &data) |
ON_BUFFER_WRITE_TIMEOUTのリスナへ通知する。. | |
void | onBufferWriteOverwrite (const cdrMemoryStream &data) |
ON_BUFFER_OVERWRITEのリスナへ通知する。. | |
void | onBufferRead (const cdrMemoryStream &data) |
ON_BUFFER_READのリスナへ通知する。. | |
void | onSend (const cdrMemoryStream &data) |
ON_SENDのリスナへ通知する。. | |
void | onReceived (const cdrMemoryStream &data) |
ON_RECEIVEDのリスナへ通知する。. | |
void | onReceiverFull (const cdrMemoryStream &data) |
ON_RECEIVER_FULLのリスナへ通知する。. | |
void | onReceiverTimeout (const cdrMemoryStream &data) |
ON_RECEIVER_TIMEOUTのリスナへ通知する。. | |
void | onReceiverError (const cdrMemoryStream &data) |
ON_RECEIVER_ERRORのリスナへ通知する。. | |
void | onSenderError () |
Connector listener functions. |
PublisherNew クラス.
バッファ内に新規データが格納されたタイミングで、その新規データを送信する。 データ送出タイミングを待つコンシューマを、送出する側とは異なるスレッドで 動作させる場合に使用。 Publisherの駆動は、データ送出のタイミングになるまでブロックされ、 送出タイミングの通知を受けると、即座にコンシューマの送出処理を呼び出す。
typedef coil::Mutex RTC::PublisherNew::Mutex |
enum RTC::PublisherNew::Policy [protected] |
DATAPORTSTATUS_ENUM RTC::PublisherNew::PublisherNew | ( | ) |
コンストラクタ
コンストラクタ 本 Publisher 用新規スレッドを生成する。
consumer | データ送出を待つコンシューマ | |
property | 本Publisherの駆動制御情報を設定したPropertyオブジェクト (本Publisherでは未使用) |
virtual RTC::PublisherNew::~PublisherNew | ( | void | ) | [virtual] |
デストラクタ
virtual ReturnCode RTC::PublisherNew::activate | ( | ) | [virtual] |
ReturnCode RTC::PublisherNew::convertReturn | ( | BufferStatus::Enum | status, | |
const cdrMemoryStream & | data | |||
) | [protected] |
return code conversion (BufferStatus -> DataPortStatus)
bool RTC::PublisherNew::createTask | ( | const coil::Properties & | prop | ) | [protected] |
Task の設定.
virtual ReturnCode RTC::PublisherNew::deactivate | ( | ) | [virtual] |
virtual ReturnCode RTC::PublisherNew::init | ( | coil::Properties & | prop | ) | [virtual] |
初期化
RTC::PublisherBaseを実装しています。
ReturnCode RTC::PublisherNew::invokeListener | ( | DataPortStatus::Enum | status, | |
const cdrMemoryStream & | data | |||
) | [protected] |
virtual bool RTC::PublisherNew::isActive | ( | ) | [virtual] |
void RTC::PublisherNew::onBufferFull | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
void RTC::PublisherNew::onBufferRead | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
void RTC::PublisherNew::onBufferWrite | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
Connector data listener functions.
ON_BUFFER_WRITEのリスナへ通知する。
data | cdrMemoryStream |
参照先 RTC::ON_BUFFER_WRITE.
void RTC::PublisherNew::onBufferWriteOverwrite | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
void RTC::PublisherNew::onBufferWriteTimeout | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
void RTC::PublisherNew::onReceived | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
void RTC::PublisherNew::onReceiverError | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
void RTC::PublisherNew::onReceiverFull | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
void RTC::PublisherNew::onReceiverTimeout | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
void RTC::PublisherNew::onSend | ( | const cdrMemoryStream & | data | ) | [inline, protected] |
void RTC::PublisherNew::onSenderError | ( | ) | [inline, protected] |
Connector listener functions.
ON_SENDER_ERRORのリスナへ通知する。
data | cdrMemoryStream |
参照先 RTC::ON_SENDER_ERROR.
ReturnCode RTC::PublisherNew::pushAll | ( | ) | [protected] |
push "all" policy
ReturnCode RTC::PublisherNew::pushFifo | ( | ) | [protected] |
push "fifo" policy
ReturnCode RTC::PublisherNew::pushNew | ( | ) | [protected] |
push "new" policy
ReturnCode RTC::PublisherNew::pushSkip | ( | ) | [protected] |
push "skip" policy
virtual ReturnCode RTC::PublisherNew::setBuffer | ( | CdrBufferBase * | buffer | ) | [virtual] |
バッファのセット
buffer | CDRバッファ |
virtual ReturnCode RTC::PublisherNew::setConsumer | ( | InPortConsumer * | consumer | ) | [virtual] |
InPortコンシューマのセット.
RTC::PublisherBaseを実装しています。
virtual ReturnCode RTC::PublisherNew::setListener | ( | ConnectorInfo & | info, | |
ConnectorListeners * | listeners | |||
) | [virtual] |
リスナを設定する。
info | ConnectorInfo | |
listeners | ConnectorListeners |
RTC::PublisherBaseを実装しています。
void RTC::PublisherNew::setPushPolicy | ( | const coil::Properties & | prop | ) | [protected] |
PushPolicy の設定.
virtual int RTC::PublisherNew::svc | ( | void | ) | [virtual] |
スレッド実行関数
ACE_Task::svc() のオーバーライド バッファ内のデータが更新されるまでスレッドを待機させる。
virtual ReturnCode RTC::PublisherNew::write | ( | const cdrMemoryStream & | data, | |
unsigned long | sec, | |||
unsigned long | usec | |||
) | [virtual] |