OpenRTM-aist-Python 1.1.2
公開メンバ関数 | 全メンバ一覧
OpenRTM_aist.OutPortPushConnector.OutPortPushConnector クラス

OutPortPushConnector クラス [詳解]

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

公開メンバ関数

def __init__ (self, info, consumer, listeners, buffer=0)
 コンストラクタ [詳解]
 
def __del__ (self)
 デストラクタ [詳解]
 
def write (self, data)
 データの書き込み [詳解]
 
def disconnect (self)
 接続解除 [詳解]
 
def activate (self)
 アクティブ化 [詳解]
 
def deactivate (self)
 非アクティブ化 [詳解]
 
def getBuffer (self)
 Buffer を取得する [詳解]
 
def createPublisher (self, info)
 Publisherの生成 [詳解]
 
def createBuffer (self, info)
 Bufferの生成 [詳解]
 
def onConnect (self)
 接続確立時にコールバックを呼ぶ void onConnect()
 
def onDisconnect (self)
 接続切断時にコールバックを呼ぶ void onDisconnect()
 
- 基底クラス OpenRTM_aist.OutPortConnector.OutPortConnector に属する継承公開メンバ関数
def __init__ (self, info)
 コンストラクタOutPortConnector(ConnectorInfo& info);
 
def __del__ (self)
 デストラクタ
 
def profile (self)
 ConnectorInfo 取得 [詳解]
 
def id (self)
 Connector ID 取得 [詳解]
 
def name (self)
 Connector 名取得 [詳解]
 
- 基底クラス OpenRTM_aist.ConnectorBase.ConnectorBase に属する継承公開メンバ関数
def __del__ (self)
 デストラクタ
 
def profile (self)
 Profile 取得 [詳解]
 
def id (self)
 Connector ID 取得 [詳解]
 
def name (self)
 Connector 名取得 [詳解]
 
def disconnect (self)
 接続解除関数 [詳解]
 
def getBuffer (self)
 Buffer を取得する [詳解]
 
def activate (self)
 アクティブ化 [詳解]
 
def deactivate (self)
 非アクティブ化 [詳解]
 
- 基底クラス OpenRTM_aist.DataPortStatus.DataPortStatus に属する継承公開メンバ関数
def toString (status)
 DataPortStatus リターンコードを文字列に変換 [詳解]
 

その他の継承メンバ

- 基底クラス 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 は以下の三つのオブジェクトを所有し管理する。

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

から
1.0.0

構築子と解体子

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

コンストラクタ

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

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

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

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.__del__ (   self)

デストラクタ

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

メソッド詳解

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.activate (   self)

アクティブ化

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

virtual void activate();

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

Bufferの生成

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

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

virtual CdrBufferBase* createBuffer(ConnectorInfo& info);

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

Publisherの生成

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

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

virtual PublisherBase* createPublisher(ConnectorInfo& info);

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.deactivate (   self)

非アクティブ化

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

virtual void deactivate();

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.disconnect (   self)

接続解除

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

virtual ReturnCode disconnect();

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.getBuffer (   self)

Buffer を取得する

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

virtual CdrBufferBase* getBuffer();

def 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);


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