クラス RTC::OutPortPushConnector

OutPortPushConnector クラス. [詳細]

#include <OutPortPushConnector.h>

RTC::OutPortPushConnectorに対する継承グラフ
RTC::OutPortConnector RTC::ConnectorBase RTC::DataPortStatus

すべてのメンバ一覧

Public メソッド

DATAPORTSTATUS_ENUM OutPortPushConnector (ConnectorInfo info, InPortConsumer *consumer, ConnectorListeners &listeners, CdrBufferBase *buffer=0)
 コンストラクタ
virtual ~OutPortPushConnector ()
 デストラクタ
virtual ReturnCode write (const cdrMemoryStream &data)
 データの書き込み
virtual ReturnCode disconnect ()
 接続解除
virtual void activate ()
 アクティブ化
virtual void deactivate ()
 非アクティブ化
virtual CdrBufferBasegetBuffer ()
 Buffer を取得する.

Protected メソッド

virtual PublisherBasecreatePublisher (ConnectorInfo &info)
 Publisherの生成.
virtual CdrBufferBasecreateBuffer (ConnectorInfo &info)
 Bufferの生成.
void onConnect ()
 接続確立時にコールバックを呼ぶ
void onDisconnect ()
 接続切断時にコールバックを呼ぶ

説明

OutPortPushConnector クラス.

OutPort の push 型データフローのための Connector クラス。このオブ ジェクトは、接続時に dataflow_type に push が指定された場合、 OutPort によって生成・所有され、InPortPushConnector と対になって、 データポートの push 型のデータフローを実現する。一つの接続に対して、 一つのデータストリームを提供する唯一の Connector が対応する。 Connector は 接続時に生成される UUID 形式の ID により区別される。

OutPortPushConnector は以下の三つのオブジェクトを所有し管理する。

OutPort に書き込まれたデータは OutPortPushConnector::write() に渡 され、Connector は Publisher にデータを書き込む。Publisher はその 特性に従ってデータを Buffer から取得し InPortConsumer に対して push することで InPort にデータが転送される。

から:
1.0.0

コンストラクタとデストラクタ

DATAPORTSTATUS_ENUM RTC::OutPortPushConnector::OutPortPushConnector ( ConnectorInfo  info,
InPortConsumer consumer,
ConnectorListeners listeners,
CdrBufferBase buffer = 0 
)

コンストラクタ

OutPortPushConnector のコンストラクタはオブジェクト生成時に下記 を引数にとる。ConnectorInfo は接続情報を含み、この情報に従いパブ リッシャやバッファ等を生成する。InPort インターフェースに対する コンシューマオブジェクトへのポインタを取り、所有権を持つので、 OutPortPushConnectorInPortConsumer の解体責任を持つ。各種イ ベントに対するコールバック機構を提供する ConnectorListeners を持 ち、適切なタイミングでコールバックを呼び出す。データバッファがも し OutPortBase から提供される場合はそのポインタを取る。

引数:
info ConnectorInfo
consumer InPortConsumer
listeners ConnectorListeners 型のリスナオブジェクトリスト
buffer CdrBufferBase 型のバッファ
virtual RTC::OutPortPushConnector::~OutPortPushConnector (  )  [virtual]

デストラクタ

disconnect() が呼ばれ、consumer, publisher, buffer が解体・削除される。


関数

virtual void RTC::OutPortPushConnector::activate (  )  [virtual]

アクティブ化

このコネクタをアクティブ化する

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

virtual CdrBufferBase* RTC::OutPortPushConnector::createBuffer ( ConnectorInfo info  )  [protected, virtual]

Bufferの生成.

与えられた接続情報に基づきバッファを生成する。

引数:
info 接続情報
戻り値:
バッファへのポインタ
virtual PublisherBase* RTC::OutPortPushConnector::createPublisher ( ConnectorInfo info  )  [protected, virtual]

Publisherの生成.

与えられた接続情報に基づきパブリッシャを生成する。

引数:
info 接続情報
戻り値:
パブリッシャへのポインタ
virtual void RTC::OutPortPushConnector::deactivate (  )  [virtual]

非アクティブ化

このコネクタを非アクティブ化する

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

virtual ReturnCode RTC::OutPortPushConnector::disconnect (  )  [virtual]

接続解除

consumer, publisher, buffer が解体・削除される。

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

virtual CdrBufferBase* RTC::OutPortPushConnector::getBuffer (  )  [virtual]

Buffer を取得する.

Connector が保持している Buffer を返す

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

void RTC::OutPortPushConnector::onConnect (  )  [protected]

接続確立時にコールバックを呼ぶ

void RTC::OutPortPushConnector::onDisconnect (  )  [protected]

接続切断時にコールバックを呼ぶ

virtual ReturnCode RTC::OutPortPushConnector::write ( const cdrMemoryStream &  data  )  [virtual]

データの書き込み

Publisherに対してデータを書き込み、これにより対応するInPortへデー タが転送される。正常終了した場合 PORT_OK が返される。それ以外の 場合、エラー値として、CONNECTION_LOST, BUFFER_FULL, BUFFER_ERROR, PORT_ERROR, BUFFER_TIMEOUT, PRECONDITION_NO_MET が 返される。

戻り値:
PORT_OK 正常終了 CONNECTION_LOST 接続がロストした BUFFER_FULL バッファが一杯である BUFFER_ERROR バッファエラー BUFFER_TIMEOUT バッファへの書き込みがタイムアウトした PRECONDITION_NOT_MET 事前条件を満たさない PORT_ERROR その他のエラー

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

OpenRTMに対してFri Mar 11 00:00:51 2011に生成されました。  doxygen 1.6.3