OpenRTM-aist-Python 2.0.0
公開メンバ関数 | 全メンバ一覧
OpenRTM_aist.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=None)
 
def __del__ (self)
 
def write (self, data)
 
def disconnect (self)
 
def activate (self)
 
def deactivate (self)
 
def getBuffer (self)
 
def createPublisher (self, info)
 
def createBuffer (self, info)
 
def onConnect (self)
 
def onDisconnect (self)
 
def setInPort (self, directInPort)
 
def unsubscribeInterface (self, prop)
 
- 基底クラス OpenRTM_aist.OutPortConnector.OutPortConnector に属する継承公開メンバ関数
def __init__ (self, info)
 
def __del__ (self)
 
def profile (self)
 
def id (self)
 
def name (self)
 
def setDirectMode (self)
 
def directMode (self)
 
def setConsumer (self, consumer)
 
def unsubscribeInterface (self, prop)
 
def __del__ (self)
 
def profile (self)
 
def id (self)
 
def name (self)
 
def disconnect (self)
 
def getBuffer (self)
 
def activate (self)
 
def deactivate (self)
 
- 基底クラス OpenRTM_aist.DataPortStatus.DataPortStatus に属する継承公開メンバ関数
def 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 は以下の三つのオブジェクトを所有し管理する。

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

から
1.0.0

構築子と解体子

◆ __init__()

def 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__()

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.__del__ (   self)

デストラクタ

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

メソッド詳解

◆ activate()

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.activate (   self)

アクティブ化

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

virtual void activate();

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

◆ createBuffer()

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

Bufferの生成

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

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

virtual CdrBufferBase* createBuffer(ConnectorInfo& info);

◆ createPublisher()

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

Publisherの生成

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

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

virtual PublisherBase* createPublisher(ConnectorInfo& info);

◆ deactivate()

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.deactivate (   self)

非アクティブ化

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

virtual void deactivate();

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

◆ disconnect()

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.disconnect (   self)

接続解除

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

virtual ReturnCode disconnect();

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

◆ getBuffer()

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.getBuffer (   self)

Buffer を取得する

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

virtual CdrBufferBase* getBuffer();

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

◆ onConnect()

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.onConnect (   self)

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

◆ onDisconnect()

def OpenRTM_aist.OutPortPushConnector.OutPortPushConnector.onDisconnect (   self)

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

◆ setInPort()

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

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

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

bool setInPort(InPortBase* directInPort);

◆ unsubscribeInterface()

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

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

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

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

◆ write()

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

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


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