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

PublisherFlush クラス [詳解]

OpenRTM_aist.PublisherFlush.PublisherFlush の継承関係図
OpenRTM_aist.PublisherBase.PublisherBase OpenRTM_aist.DataPortStatus.DataPortStatus

公開メンバ関数

def __init__ (self)
 コンストラクタ [詳解]
 
def __del__ (self)
 デストラクタ [詳解]
 
def init (self, prop)
 初期化 [詳解]
 
def setConsumer (self, consumer)
 InPortコンシューマのセット [詳解]
 
def setBuffer (self, buffer)
 バッファのセット [詳解]
 
def setListener (self, info, listeners)
 リスナを設定する。 [詳解]
 
def write (self, data, sec, usec)
 データを書き込む [詳解]
 
def isActive (self)
 アクティブ化確認 [詳解]
 
def activate (self)
 アクティブ化する [詳解]
 
def deactivate (self)
 非アクティブ化する [詳解]
 
def onSend (self, data)
 ON_SENDのリスナへ通知する。 [詳解]
 
def onReceived (self, data)
 ON_RECEIVEDのリスナへ通知する。 [詳解]
 
def onReceiverFull (self, data)
 ON_RECEIVER_FULLのリスナへ通知する。 [詳解]
 
def onReceiverTimeout (self, data)
 ON_RECEIVER_TIMEOUTのリスナへ通知する。 [詳解]
 
def onReceiverError (self, data)
 ON_RECEIVER_ERRORのリスナへ通知する。 [詳解]
 
- 基底クラス OpenRTM_aist.PublisherBase.PublisherBase に属する継承公開メンバ関数
def init (self, prop)
 設定初期化 [詳解]
 
def setConsumer (self, consumer)
 virtual ReturnCode setConsumer(InPortConsumer* consumer) = 0;
 
def setBuffer (self, buffer)
 virtual ReturnCode setBuffer(BufferBase<cdrMemoryStream>* buffer) = 0;
 
def isActive (self)
 virtual bool isActive() = 0;
 
def activate (self)
 virtual ReturnCode activate() = 0;
 
def deactivate (self)
 virtual ReturnCode deactivate() = 0;
 
def release (self)
 Publisher を破棄する。 [詳解]
 
- 基底クラス OpenRTM_aist.DataPortStatus.DataPortStatus に属する継承公開メンバ関数
def toString (status)
 DataPortStatus リターンコードを文字列に変換 [詳解]
 

その他の継承メンバ

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

詳解

PublisherFlush クラス

Flush 型 Publisher クラス バッファ内に格納されている未送信データを送信する。 データ送出を待つコンシューマを、送出する側と同じスレッドで動作させる。

構築子と解体子

def OpenRTM_aist.PublisherFlush.PublisherFlush.__init__ (   self)

コンストラクタ

コンストラクタ

引数
self
consumerデータ送出を待つコンシューマ
property本Publisherの駆動制御情報を設定したPropertyオブジェクト
def OpenRTM_aist.PublisherFlush.PublisherFlush.__del__ (   self)

デストラクタ

デストラクタ 当該Publisherを破棄する際に、PublisherFactoryにより呼び出される。

引数
self

メソッド詳解

def OpenRTM_aist.PublisherFlush.PublisherFlush.activate (   self)

アクティブ化する

Publisher をアクティブ化する。この関数を呼び出すことにより、 Publisherが持つ、データを送信するスレッドが動作を開始する。初期 化が行われていないなどにより、事前条件を満たさない場合、エラーコー ド PRECONDITION_NOT_MET を返す。

戻り値
PORT_OK 正常終了 PRECONDITION_NOT_MET 事前条件を満たさない

PublisherBase::ReturnCode PublisherFlush::activate()

def OpenRTM_aist.PublisherFlush.PublisherFlush.deactivate (   self)

非アクティブ化する

Publisher を非アクティブ化する。この関数を呼び出すことにより、 Publisherが持つ、データを送信するスレッドが動作を停止する。初期 化が行われていないなどにより、事前条件を満たさない場合、エラーコー ド PRECONDITION_NOT_MET を返す。

戻り値
PORT_OK 正常終了 PRECONDITION_NOT_MET 事前条件を満たさない

PublisherBase::ReturnCode PublisherFlush::deactivate()

def OpenRTM_aist.PublisherFlush.PublisherFlush.init (   self,
  prop 
)

初期化

このクラスのオブジェクトを使用するのに先立ち、必ずこの関数を呼び 出す必要がある。ただし、この PublisherFlush は現状で初期化するパ ラメータを持たない。

引数
property本Publisherの駆動制御情報を設定したPropertyオブジェクト
戻り値
ReturnCode PORT_OK 正常終了 INVALID_ARGS Properties が不正な値を含む

virtual ReturnCode init(coil::Properties& prop);

def OpenRTM_aist.PublisherFlush.PublisherFlush.isActive (   self)

アクティブ化確認

Publisher はデータポートと同期して activate/deactivate される。 activate() / deactivate() 関数によって、アクティブ状態と非アクティ ブ状態が切り替わる。この関数により、現在アクティブ状態か、非アク ティブ状態かを確認することができる。

戻り値
状態確認結果(アクティブ状態:true、非アクティブ状態:false)

bool PublisherFlush::isActive()

def OpenRTM_aist.PublisherFlush.PublisherFlush.onReceived (   self,
  data 
)

ON_RECEIVEDのリスナへ通知する。

引数
datacdrMemoryStream

inline void onReceived(const cdrMemoryStream& data)

def OpenRTM_aist.PublisherFlush.PublisherFlush.onReceiverError (   self,
  data 
)

ON_RECEIVER_ERRORのリスナへ通知する。

引数
datacdrMemoryStream

inline void onReceiverError(const cdrMemoryStream& data)

def OpenRTM_aist.PublisherFlush.PublisherFlush.onReceiverFull (   self,
  data 
)

ON_RECEIVER_FULLのリスナへ通知する。

引数
datacdrMemoryStream

inline void onReceiverFull(const cdrMemoryStream& data)

def OpenRTM_aist.PublisherFlush.PublisherFlush.onReceiverTimeout (   self,
  data 
)

ON_RECEIVER_TIMEOUTのリスナへ通知する。

引数
datacdrMemoryStream

inline void onReceiverTimeout(const cdrMemoryStream& data)

def OpenRTM_aist.PublisherFlush.PublisherFlush.onSend (   self,
  data 
)

ON_SENDのリスナへ通知する。

引数
datacdrMemoryStream

inline void onSend(const cdrMemoryStream& data)

def OpenRTM_aist.PublisherFlush.PublisherFlush.setBuffer (   self,
  buffer 
)

バッファのセット

PublisherFlushでは、バッファを使用しないため、いかなる場合も PORT_OK を返す。

引数
bufferCDRバッファ
戻り値
PORT_OK 正常終了

PublisherBase::ReturnCode PublisherFlush::setBuffer(CdrBufferBase* buffer)

def OpenRTM_aist.PublisherFlush.PublisherFlush.setConsumer (   self,
  consumer 
)

InPortコンシューマのセット

この関数では、この Publisher に関連付けられるコンシューマをセットする。 コンシューマオブジェクトがヌルポインタの場合、INVALID_ARGSが返される。 それ以外の場合は、PORT_OK が返される。

引数
consumerConsumer へのポインタ
戻り値
ReturnCode PORT_OK 正常終了 INVALID_ARGS 引数に不正な値が含まれている
def OpenRTM_aist.PublisherFlush.PublisherFlush.setListener (   self,
  info,
  listeners 
)

リスナを設定する。

Publisher に対してリスナオブジェクト ConnectorListeners を設定する。 各種リスナオブジェクトを含む ConnectorListeners をセットすることで、 バッファの読み書き、データの送信時等にこれらのリスナをコールする。 ConnectorListeners オブジェクトの所有権はポートまたは RTObject が持ち Publisher 削除時に ConnectorListeners は削除されることはない。 ConnectorListeners がヌルポインタの場合 INVALID_ARGS を返す。

引数
infoConnectorProfile をローカル化したオブジェクト ConnectorInfo
listenersリスナを多数保持する ConnectorListeners オブジェクト
戻り値
PORT_OK 正常終了 INVALID_ARGS 不正な引数

virtual ::RTC::DataPortStatus::Enum setListener(ConnectorInfo& info, RTC::ConnectorListeners* listeners);

def OpenRTM_aist.PublisherFlush.PublisherFlush.write (   self,
  data,
  sec,
  usec 
)

データを書き込む

Publisher が保持するコンシューマに対してデータを書き込む。コン シューマ、リスナ等が適切に設定されていない等、Publisher オブジェ クトが正しく初期化されていない場合、この関数を呼び出すとエラーコー ド PRECONDITION_NOT_MET が返され、コンシューマへの書き込み等の操 作は一切行われない。

コンシューマへの書き込みに対して、コンシューマがフル状態、コン シューマのエラー、コンシューマへの書き込みがタイムアウトした場合 にはそれぞれ、エラーコード SEND_FULL, SEND_ERROR, SEND_TIMEOUT が返される。

これら以外のエラーの場合、PORT_ERROR が返される。

引数
data書き込むデータ
secタイムアウト時間
nsecタイムアウト時間
戻り値
PORT_OK 正常終了 PRECONDITION_NO_MET consumer, buffer, listener等が適切に設定 されていない等、このオブジェクトの事前条件 を満たさない場合。 SEND_FULL 送信先がフル状態 SEND_TIMEOUT 送信先がタイムアウトした CONNECTION_LOST 接続が切断されたことを検知した。

PublisherBase::ReturnCode PublisherFlush::write(const cdrMemoryStream& data, unsigned long sec, unsigned long usec)


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