クラス RTC::InPortPullConnector

InPortPullConnector クラス. [詳細]

#include <InPortPullConnector.h>

RTC::InPortPullConnectorに対する継承グラフ
RTC::InPortConnector RTC::ConnectorBase RTC::DataPortStatus

すべてのメンバ一覧

Public メソッド

DATAPORTSTATUS_ENUM InPortPullConnector (ConnectorInfo info, OutPortConsumer *consumer, ConnectorListeners &listeners, CdrBufferBase *buffer=0)
 コンストラクタ
virtual ~InPortPullConnector ()
 デストラクタ
virtual ReturnCode read (cdrMemoryStream &data)
 read 関数
virtual ReturnCode disconnect ()
 接続解除関数
virtual void activate ()
 アクティブ化
virtual void deactivate ()
 非アクティブ化

Protected メソッド

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

説明

InPortPullConnector クラス.

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

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

OutPort に書き込まれたデータは OutPortPullConnector::write() に渡 され Buffer に書き込まれる。InPortread(), InPortPullConnector::read() は結果として、OutPortConsumerget() を呼び出し、OutPortPullConnector の持つバッファからデータを読み出 し、InPortPullConnector のもつバッファにデータを書き込む。

から:
1.0.0

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

DATAPORTSTATUS_ENUM RTC::InPortPullConnector::InPortPullConnector ( ConnectorInfo  info,
OutPortConsumer consumer,
ConnectorListeners listeners,
CdrBufferBase buffer = 0 
)

コンストラクタ

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

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

デストラクタ

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


関数

virtual void RTC::InPortPullConnector::activate (  )  [inline, virtual]

アクティブ化

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

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

CdrBufferBase* RTC::InPortPullConnector::createBuffer ( ConnectorInfo info  )  [protected]

Bufferの生成.

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

引数:
info 接続情報
戻り値:
バッファへのポインタ
virtual void RTC::InPortPullConnector::deactivate (  )  [inline, virtual]

非アクティブ化

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

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

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

接続解除関数

Connector が保持している接続を解除する

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

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

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

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

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

virtual ReturnCode RTC::InPortPullConnector::read ( cdrMemoryStream &  data  )  [virtual]

read 関数

OutPortConsumer からデータを取得する。正常に読み出せた場合、戻り 値は PORT_OK となり、data に読み出されたデータが格納される。それ 以外の場合には、エラー値として BUFFER_EMPTY, TIMEOUT, PRECONDITION_NOT_MET, PORT_ERROR が返される。

戻り値:
PORT_OK 正常終了 BUFFER_EMPTY バッファは空である TIMEOUT タイムアウトした PRECONDITION_NOT_MET 事前条件を満たさない PORT_ERROR その他のエラー

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

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