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

[詳解]

OpenRTM_aist.InPortPushConnector.InPortPushConnector の継承関係図
OpenRTM_aist.InPortConnector.InPortConnector OpenRTM_aist.ConnectorBase.ConnectorBase OpenRTM_aist.DataPortStatus.DataPortStatus

クラス

class  WorkerThreadCtrl
 

公開メンバ関数

def __init__ (self, info, provider, listeners, buffer=None)
 
def __del__ (self)
 
def readBuff (self)
 
def read (self, data=None)
 
def disconnect (self)
 
def activate (self)
 
def deactivate (self)
 
def createBuffer (self, profile)
 
def write (self, data)
 
def onConnect (self)
 
def onDisconnect (self)
 
- 基底クラス OpenRTM_aist.InPortConnector.InPortConnector に属する継承公開メンバ関数
def __init__ (self, info, buffer)
 
def __del__ (self)
 
def profile (self)
 
def id (self)
 
def name (self)
 
def disconnect (self)
 
def getBuffer (self)
 
def read (self, data=None)
 
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 リターンコード [詳解]
 

詳解

InPortPushConnector クラス

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

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

OutPort に書き込まれたデータは、OutPortConnector によって InPortProvider::put() にデータが渡される。書き込まれたデータは Connector 内で Buffer にデータが書き込まれる。

から
1.0.0

構築子と解体子

◆ __init__()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.__init__ (   self,
  info,
  provider,
  listeners,
  buffer = None 
)

コンストラクタ

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

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

@elsek

Constructor

InPortPushConnector's constructor is given the following arguments. According to ConnectorInfo which includes connection information, a buffer is created. It is also given a pointer to the provider object for the InPort interface. The owner-ship of the pointer is owned by this InPortPushConnector, it has responsibility to destruct the InPortProvider. InPortPushConnector also has ConnectorListeners to provide event callback mechanisms, and they would be called at the proper timing. If data buffer is given by InPortBase, the pointer to the buffer is also given as arguments.

引数
infoConnectorInfo
providerInPortProvider
listenersConnectorListeners type lsitener object list
bufferCdrBufferBase type buffer

InPortPushConnector(ConnectorInfo info, InPortProvider* provider, ConnectorListeners listeners, CdrBufferBase* buffer = 0);

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

◆ __del__()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.__del__ (   self)

デストラクタ

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

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

メソッド詳解

◆ activate()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.activate (   self)

アクティブ化

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

virtual void activate(){}; // do nothing

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

◆ createBuffer()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.createBuffer (   self,
  profile 
)

Bufferの生成

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

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

virtual CdrBufferBase* createBuffer(Profile& profile);

◆ deactivate()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.deactivate (   self)

非アクティブ化

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

virtual void deactivate(){}; // do nothing

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

◆ disconnect()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.disconnect (   self)

接続解除

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

戻り値
PORT_OK

virtual ReturnCode disconnect();

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

◆ onConnect()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.onConnect (   self)

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

◆ onDisconnect()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.onDisconnect (   self)

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

◆ read()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.read (   self,
  data = None 
)

データの読み出し

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

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

virtual ReturnCode read(cdrMemoryStream& data);

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

◆ readBuff()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.readBuff (   self)

バッファからデータを読み出す。 read関数と違い、アンマーシャリングを実行しない

引数
self
戻り値
リターンコード
引数
self
戻り値

buffer returns BUFFER_OK BUFFER_EMPTY TIMEOUT PRECONDITION_NOT_MET

◆ write()

def OpenRTM_aist.InPortPushConnector.InPortPushConnector.write (   self,
  data 
)

データの書き出し

バッファにデータを書き出す。正常に書き出せた場合、戻り値は BUFFER_OK となる。それ以外の場合には、エラー値として BUFFER_FULL,TIMEOUT PRECONDITION_NOT_MET, BUFFER_ERROR が返される。

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

ReturnCode write(const OpenRTM::CdrData& data);

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


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