OpenRTM-aist-Python 2.0.2
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector クラス

[詳解]

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector の継承関係図
OpenRTM_aist.OutPortConnector.OutPortConnector OpenRTM_aist.ConnectorBase.ConnectorBase OpenRTM_aist.DataPortStatus.DataPortStatus

公開メンバ関数

 __init__ (self, info, consumer, listeners, buffer=None)
 
 __del__ (self)
 
 write (self, data)
 
 disconnect (self)
 
 activate (self)
 
 deactivate (self)
 
 getBuffer (self)
 
 createPublisher (self, info)
 
 createBuffer (self, info)
 
 onConnect (self)
 
 onDisconnect (self)
 
 setInPort (self, directInPort)
 
 unsubscribeInterface (self, prop)
 
- 基底クラス OpenRTM_aist.OutPortConnector.OutPortConnector に属する継承公開メンバ関数
 profile (self)
 
 id (self)
 
 name (self)
 
 setDirectMode (self)
 
 directMode (self)
 
 setConsumer (self, consumer)
 
- 基底クラス OpenRTM_aist.DataPortStatus.DataPortStatus に属する継承公開メンバ関数
 toString (status)
 

その他の継承メンバ

- 基底クラス OpenRTM_aist.DataPortStatus.DataPortStatus に属する継承静的公開変数類
int PORT_OK = 0
 brief DataPortStatus リターンコード
 

詳解

OutPortPushConnector クラス

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

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

  • InPortConsumer
  • Buffer
  • Publisher

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

から
1.0.0

構築子と解体子

◆ __init__()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.__init__ ( self,
info,
consumer,
listeners,
buffer = None )

コンストラクタ

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

引数
infoConnectorInfo
consumerInPortConsumer
listenersConnectorListeners 型のリスナオブジェクトリスト
bufferCdrBufferBase 型のバッファ

OutPortPushConnector(ConnectorInfo info, InPortConsumer* consumer, ConnectorListeners& listeners, CdrBufferBase* buffer = 0);

OpenRTM_aist.OutPortConnector.OutPortConnectorを再実装しています。

◆ __del__()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.__del__ ( self)

デストラクタ

OpenRTM_aist.OutPortConnector.OutPortConnectorを再実装しています。

メソッド詳解

◆ activate()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.activate ( self)

アクティブ化

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

virtual void activate();

OpenRTM_aist.ConnectorBase.ConnectorBaseを再実装しています。

◆ createBuffer()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.createBuffer ( self,
info )

Bufferの生成

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

引数
info接続情報
戻り値
バッファへのポインタ

virtual CdrBufferBase* createBuffer(ConnectorInfo& info);

◆ createPublisher()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.createPublisher ( self,
info )

Publisherの生成

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

引数
info接続情報
戻り値
パブリッシャへのポインタ

virtual PublisherBase* createPublisher(ConnectorInfo& info);

◆ deactivate()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.deactivate ( self)

非アクティブ化

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

virtual void deactivate();

OpenRTM_aist.ConnectorBase.ConnectorBaseを再実装しています。

◆ disconnect()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.disconnect ( self)

接続解除

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

virtual ReturnCode disconnect();

OpenRTM_aist.ConnectorBase.ConnectorBaseを再実装しています。

◆ getBuffer()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.getBuffer ( self)

Buffer を取得する

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

virtual CdrBufferBase* getBuffer();

OpenRTM_aist.ConnectorBase.ConnectorBaseを再実装しています。

◆ onConnect()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.onConnect ( self)

接続確立時にコールバックを呼ぶ void onConnect()

◆ onDisconnect()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.onDisconnect ( self)

接続切断時にコールバックを呼ぶ void onDisconnect()

◆ setInPort()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.setInPort ( self,
directInPort )

データをダイレクトに書き込むためのInPortのサーバントを設定する

引数
self
directInPortInPortのサーバント
戻り値
True: 設定に成功 False: 既に設定済みのため失敗

bool setInPort(InPortBase* directInPort);

◆ unsubscribeInterface()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.unsubscribeInterface ( self,
prop )

コンシューマのインターフェースの登録を取り消す

引数
propコネクタプロファイルのプロパティ

OpenRTM_aist.OutPortConnector.OutPortConnectorを再実装しています。

◆ write()

OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.write ( self,
data )

データの書き込み

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 その他のエラー

template<class DataType> virtual ReturnCode write(const DataType& data);

OpenRTM_aist.OutPortConnector.OutPortConnectorを再実装しています。


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