クラス InPort

InPort クラス [詳細]


Public メソッド

def __init__
 コンストラクタ
def isNew
 最新データか確認
def name
 ポート名称を取得する。
def write
 DataPort に値を書き込む
def read
 DataPort から値を読み出す
def init
 InPort 内のリングバッファの値を初期化(サブクラス実装用)
def update
 バインドされた変数に InPort バッファの最新値を読み込む
def getNewDataLen
 未読の新しいデータ数を取得する
def getNewList
 未読の新しいデータを取得する
def getNewListReverse
 未読の新しいデータを逆順(新->古)で取得する
def setOnWrite
 InPort バッファへデータ入力時のコールバックの設定
def setOnWriteConvert
 InPort バッファへデータ書き込み時のコールバックの設定
def setOnRead
 InPort バッファへデータ読み込み時のコールバックの設定
def setOnReadConvert
 InPort バッファへデータ読み出し時のコールバックの設定
def setOnOverflow
 InPort バッファへバッファオーバーフロー時のコールバックの設定
def setOnUnderflow
 InPort バッファへバッファアンダーフロー時のコールバックの設定
def getPortDataType
 データ型名取得用メソッド


説明

InPort クラス

InPort の実装クラス。 InPort は内部にリングバッファを持ち、外部から送信されたデータを順次 このリングバッファに格納する。リングバッファのサイズはデフォルトで64と なっているが、コンストラクタ引数によりサイズを指定することができる。 データはフラグによって未読、既読状態が管理され、isNew(), getNewDataLen() getNewList(), getNewListReverse() 等のメソッドによりハンドリングすることが できる。

から:
0.2.0

InPort.py105 行で定義されています。


関数

def __init__ (   self,
  name,
  value,
  buffer_,
  read_block = False,
  write_block = False,
  read_timeout = 0,
  write_timeout = 0 
)

コンストラクタ

コンストラクタ。

引数:
self 
name InPort 名。InPortBase:name() により参照される。
value この InPort にバインドされる変数
buffer_ InPort が内部に保持するバッファ
read_block 読込ブロックフラグ。 データ読込時に未読データがない場合、次のデータ受信までブロックする かどうかを設定(デフォルト値:False)
write_block 書込ブロックフラグ。 データ書込時にバッファがフルであった場合、バッファに空きができる までブロックするかどうかを設定(デフォルト値:False)
read_timeout 読込ブロックを指定していない場合の、データ読取タイム アウト時間(ミリ秒)(デフォルト値:0)
write_timeout 書込ブロックを指定していない場合の、データ書込タイム アウト時間(ミリ秒)(デフォルト値:0)

InPort.py150 行で定義されています。

def isNew (   self  ) 

最新データか確認

現在のバッファ位置に格納されているデータが最新データか確認する。

引数:
self 
戻り値:
最新データ確認結果 ( true:最新データ.データはまだ読み出されていない false:過去のデータ.データは既に読み出されている)

InPort.py183 行で定義されています。

def name (   self  ) 

ポート名称を取得する。

ポート名称を取得する。

引数:
self 
戻り値:
ポート名称

InPort.py200 行で定義されています。

def write (   self,
  value 
)

DataPort に値を書き込む

DataPort に値を書き込む。

引数:
self 
value 書込対象データ
戻り値:
書込処理結果(書込成功:true、書込失敗:false)

InPort.py233 行で定義されています。

def read (   self  ) 

DataPort から値を読み出す

DataPort から値を読み出す

引数:
self 
戻り値:
読み出したデータ

InPort.py301 行で定義されています。

def init (   self,
  value 
)

InPort 内のリングバッファの値を初期化(サブクラス実装用)

InPort 内のリングバッファの値を指定した値で初期化する。
※サブクラスでの実装時参照用

引数:
self 
value 初期化対象データ

InPort.py361 行で定義されています。

def update (   self  ) 

バインドされた変数に InPort バッファの最新値を読み込む

バインドされたデータに InPort の最新値を読み込む。 コンストラクタで変数と InPort がバインドされていなければならない。 このメソッドはポリモーフィックに使用される事を前提としているため、 型に依存しない引数、戻り値となっている。

引数:
self 

InPort.py382 行で定義されています。

def getNewDataLen (   self  ) 

未読の新しいデータ数を取得する

バッファ内の未読データ数を取得する。

引数:
self 
戻り値:
未読データ数

InPort.py410 行で定義されています。

def getNewList (   self  ) 

未読の新しいデータを取得する

バッファ内の未読データリストを取得する。

引数:
self 
戻り値:
未読データリスト

InPort.py430 行で定義されています。

def getNewListReverse (   self  ) 

未読の新しいデータを逆順(新->古)で取得する

バッファ内の未読データを逆順(新->古)でリスト化し、取得する。

引数:
self 
戻り値:
未読データリスト

InPort.py450 行で定義されています。

def setOnWrite (   self,
  on_write 
)

InPort バッファへデータ入力時のコールバックの設定

InPort が持つバッファにデータがputされたときに呼ばれるコールバック オブジェクトを設定する。設定されるコールバックオブジェクトは 引数に value を持ち、戻り値 void の __call__ 関数を実装している必要がある。

 class MyOnWrite:
     def __call__(self, value):
       処理
のようにコールバックオブジェクトを実装し、
m_inport.setOnWrite(new MyOnWrite());
のようにコールバックオブジェクトをセットする。

引数:
self 
on_write 設定対象コールバックオブジェクト

InPort.py480 行で定義されています。

def setOnWriteConvert (   self,
  on_wconvert 
)

InPort バッファへデータ書き込み時のコールバックの設定

InPort が持つバッファにデータ書き込まれる時に呼ばれるコールバック オブジェクトを設定する。バッファにはコールバックオブジェクトの 戻り値が設定される。

引数:
self 
on_wconvert 設定対象コールバックオブジェクト

InPort.py499 行で定義されています。

def setOnRead (   self,
  on_read 
)

InPort バッファへデータ読み込み時のコールバックの設定

InPort が持つバッファからデータが読み込まれる直前に呼ばれるコールバック オブジェクトを設定する。

引数:
self 
on_read 設定対象コールバックオブジェクト

InPort.py517 行で定義されています。

def setOnReadConvert (   self,
  on_rconvert 
)

InPort バッファへデータ読み出し時のコールバックの設定

InPort が持つバッファからデータが読み出される際に呼ばれるコールバック オブジェクトを設定する。コールバックオブジェクトの戻り値がread()メソッド の呼出結果となる。

引数:
self 
on_rconvert 設定対象コールバックオブジェクト

InPort.py536 行で定義されています。

def setOnOverflow (   self,
  on_overflow 
)

InPort バッファへバッファオーバーフロー時のコールバックの設定

InPort が持つバッファでバッファオーバーフローが検出された際に呼び出される コールバックオブジェクトを設定する。

引数:
self 
on_overflow 設定対象コールバックオブジェクト

InPort.py554 行で定義されています。

def setOnUnderflow (   self,
  on_underflow 
)

InPort バッファへバッファアンダーフロー時のコールバックの設定

InPort が持つバッファでバッファアンダーフローが検出された際に呼び出される コールバックオブジェクトを設定する。

引数:
self 
on_underflow 設定対象コールバックオブジェクト

InPort.py572 行で定義されています。

def getPortDataType (   self  ) 

データ型名取得用メソッド

データの型名を取得するため、InPortCorbaProviderから呼ばれる。

引数:
self 
戻り値:
バッファに設定されているデータの型名

InPort.py590 行で定義されています。


OpenRTMに対してMon Mar 17 15:11:07 2008に生成されました。  doxygen 1.5.4