OutPortPullConnector クラス. [詳細]
Public メソッド | |
def | __init__ |
コンストラクタ | |
def | __del__ |
デストラクタ | |
def | write |
データの書き込み | |
def | disconnect |
接続解除 | |
def | getBuffer |
Buffer を取得する. | |
def | activate |
アクティブ化 | |
def | deactivate |
非アクティブ化 | |
def | createBuffer |
Bufferの生成. | |
def | onConnect |
接続確立時にコールバックを呼ぶvoid onConnect() | |
def | onDisconnect |
接続切断時にコールバックを呼ぶvoid onDisconnect() |
OutPortPullConnector クラス.
OutPort の pull 型データフローのための Connector クラス。このオブ ジェクトは、接続時に dataflow_type に pull が指定された場合、 OutPort によって生成・所有され、InPortPullConnector と対になって、 データポートの pull 型のデータフローを実現する。一つの接続に対して、 一つのデータストリームを提供する唯一の Connector が対応する。 Connector は 接続時に生成される UUID 形式の ID により区別される。
OutPortPullConnector は以下の三つのオブジェクトを所有し管理する。
OutPort に書き込まれたデータは OutPortPullConnector.write() に渡 され Buffer に書き込まれる。InPortPullConnector が OutPortPullConnector からデータを読み出すことで InPort にデータが 転送される。
def OpenRTM_aist.OutPortPullConnector.OutPortPullConnector.__del__ | ( | self | ) |
デストラクタ
disconnect() が呼ばれ、provider, buffer が解体・削除される。
def OpenRTM_aist.OutPortPullConnector.OutPortPullConnector.__init__ | ( | self, | ||
info, | ||||
provider, | ||||
listeners, | ||||
buffer = 0 | ||||
) |
コンストラクタ
OutPortPullConnector のコンストラクタはオブジェクト生成時に下記 を引数にとる。ConnectorInfo は接続情報を含み、この情報に従いバッ ファ等を生成する。OutPort インターフェースのプロバイダオブジェク トへのポインタを取り、所有権を持つので、OutPortPullConnector は OutPortProvider の解体責任を持つ。各種イベントに対するコールバッ ク機構を提供する ConnectorListeners を持ち、適切なタイミングでコー ルバックを呼び出す。データバッファがもし OutPortBase から提供さ れる場合はそのポインタを取る。
info | ConnectorInfo | |
provider | OutPortProvider | |
listeners | ConnectorListeners 型のリスナオブジェクトリスト | |
buffer | CdrBufferBase 型のバッファ |
OutPortPullConnector(ConnectorInfo info, OutPortProvider* provider, ConnectorListeners& listeners, CdrBufferBase* buffer = 0);
def OpenRTM_aist.OutPortPullConnector.OutPortPullConnector.activate | ( | self | ) |
アクティブ化
このコネクタをアクティブ化する
virtual void activate(){}; // do nothing
OpenRTM_aist.ConnectorBase.ConnectorBaseを再定義しています。
def OpenRTM_aist.OutPortPullConnector.OutPortPullConnector.createBuffer | ( | self, | ||
info | ||||
) |
Bufferの生成.
CdrBufferBase* createBuffer(ConnectorInfo& info);
def OpenRTM_aist.OutPortPullConnector.OutPortPullConnector.deactivate | ( | self | ) |
非アクティブ化
このコネクタを非アクティブ化する
virtual void deactivate(){}; // do nothing
OpenRTM_aist.ConnectorBase.ConnectorBaseを再定義しています。
def OpenRTM_aist.OutPortPullConnector.OutPortPullConnector.disconnect | ( | self | ) |
接続解除
consumer, publisher, buffer が解体・削除される。
virtual ReturnCode disconnect();
OpenRTM_aist.ConnectorBase.ConnectorBaseを再定義しています。
def OpenRTM_aist.OutPortPullConnector.OutPortPullConnector.getBuffer | ( | self | ) |
Buffer を取得する.
Connector が保持している Buffer を返す
virtual CdrBufferBase* getBuffer();
OpenRTM_aist.ConnectorBase.ConnectorBaseを再定義しています。
def OpenRTM_aist.OutPortPullConnector.OutPortPullConnector.write | ( | self, | ||
data | ||||
) |
データの書き込み
Publisherに対してデータを書き込み、これにより対応するInPortへ データが転送される。
virtual ReturnCode write(const cdrMemoryStream& data);