jp.go.aist.rtm.RTC.port
クラス InPort<DataType>

java.lang.Object
  上位を拡張 jp.go.aist.rtm.RTC.port.InPort<DataType>
型パラメータ:
DataType - データ型を指定します。
すべての実装されたインタフェース:
BufferBase<DataType>

public class InPort<DataType>
extends java.lang.Object
implements BufferBase<DataType>

入力ポートのためのベース実装クラスです。 外部から送信されてきたデータは順次、コンストラクタで指定されたバッファに格納されます。 バッファ内のデータはフラグによって未読/既読状態が管理され、isNew(), isEmpty()などの メソッドによってハンドリングできます。


コンストラクタの概要
InPort(BufferBase<DataType> superClass, java.lang.String name, DataRef<DataType> value)
          コンストラクタです。
InPort(BufferBase<DataType> superClass, java.lang.String name, DataRef<DataType> value, boolean read_block, boolean write_block, long read_timeout, long write_timeout)
          コンストラクタです。
InPort(java.lang.String name, DataRef<DataType> value)
          コンストラクタです。
 
メソッドの概要
 DataType get()
          データを読み取ります。
 void init(DataType value)
          当該ポートに割り当てられているバッファを、指定されたデータで埋め尽くします。
 boolean isEmpty()
          バッファが空である、つまり読み取れるデータがないかどうかを取得します。
 boolean isFull()
          バッファフルかどうかを取得します。
 boolean isNew()
          バッファ中に、まだ読み取られていないデータがあるかどうか判定します。
 int length()
          ポート内のバッファ長を取得します。
 java.lang.String name()
          ポート名称を取得します。
 void put(DataType data)
          データを書き込みます。
 DataType read()
          ポートからデータを読み出します。
 boolean read(DataRef<DataType> valueRef)
          データを読み取ります。
 void setOnOverflow(OnOverflow<DataType> onOverflow)
          データ書き込み時に、バッファオーバーフロー検出の際に呼び出される コールバックインタフェースを設定します。
 void setOnRead(OnRead<DataType> onRead)
          ポートが持つバッファからデータが読み込まれる直前に呼び出される コールバックインタフェースを設定します。
 void setOnReadConvert(OnReadConvert<DataType> onReadConvert)
          ポートが持つバッファからデータが読み出される際に呼び出される コールバックインタフェースを設定します。
 void setOnUnderflow(OnUnderflow<DataType> onUnderflow)
          データ読み込みときに、バッファアンダーフロー検出の際に呼び出される コールバックインタフェースを設定します。
 void setOnWrite(OnWrite<DataType> onWrite)
          ポートが持つバッファにデータが書き込まれる直前に呼び出される コールバックインタフェースを設定します。
 void setOnWriteConvert(OnWriteConvert<DataType> onWriteConvert)
          ポートが持つバッファにデータが書き込まれる際に呼び出される コールバックインタフェースを設定します。
 void update()
          バインドされたDataType型のデータに、ポート内バッファの最新値を読み込みます。
 boolean write(DataType value)
          ポートに値を書き込みます。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

InPort

public InPort(BufferBase<DataType> superClass,
              java.lang.String name,
              DataRef<DataType> value,
              boolean read_block,
              boolean write_block,
              long read_timeout,
              long write_timeout)

コンストラクタです。

パラメータ:
superClass - ポートに割り当てるバッファ
name - ポート名称
value - このポートにバインドされるDataType型の変数
read_block - データ読み込み時に未読データがない場合に、データ受信までブロックする場合はtrue、さもなくばfalse
write_block - データ書き込み時にバッファがフルであった場合に、バッファに空きができるまでブロック場合はtrue、さもなくばfalse
read_timeout - 非ブロック指定の場合の、データ読み取りのタイムアウト時間 (ミリ秒)
write_timeout - 非ブロック指定の場合の、データ書き込みのタイムアウト時間 (ミリ秒)

InPort

public InPort(java.lang.String name,
              DataRef<DataType> value)

コンストラクタです。デフォルトの設定でバッファが生成され割り当てられます。 また、読み取り・書き込みともに非ブロックモードとなり、タイムアウト時間は0で設定されます。

パラメータ:
name - ポート名称
value - このポートにバインドされるDataType型の変数

InPort

public InPort(BufferBase<DataType> superClass,
              java.lang.String name,
              DataRef<DataType> value)

コンストラクタです。 読み取り・書き込みともに非ブロックモードとなり、タイムアウト時間は0で設定されます。

パラメータ:
superClass - ポートに割り当てるバッファ
name - ポート名称
value - このポートにバインドされるDataType型の変数
メソッドの詳細

name

public java.lang.String name()

ポート名称を取得します。

戻り値:
ポート名称

write

public boolean write(DataType value)

ポートに値を書き込みます。

定義:
インタフェース BufferBase<DataType> 内の write
パラメータ:
value - 書き込むデータ
戻り値:
書き込みに成功した場合はtrueを、さもなくばfalseを返します。

read

public DataType read()

ポートからデータを読み出します。

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

init

public void init(DataType value)

当該ポートに割り当てられているバッファを、指定されたデータで埋め尽くします。


update

public void update()

バインドされたDataType型のデータに、ポート内バッファの最新値を読み込みます。
ただし、あらかじめコンストラクタで、DataType型の変数がバインドされていなければなりません。


setOnWrite

public void setOnWrite(OnWrite<DataType> onWrite)

ポートが持つバッファにデータが書き込まれる直前に呼び出される コールバックインタフェースを設定します。

パラメータ:
onWrite - OnWrite<DataType>インタフェースを持つオブジェクト

setOnWriteConvert

public void setOnWriteConvert(OnWriteConvert<DataType> onWriteConvert)

ポートが持つバッファにデータが書き込まれる際に呼び出される コールバックインタフェースを設定します。
コールバックインタフェースの戻り値がバッファに書き込まれます。

パラメータ:
onWriteConvert - OnWriteConvert<DataType>インタフェースを持つオブジェクト

setOnRead

public void setOnRead(OnRead<DataType> onRead)

ポートが持つバッファからデータが読み込まれる直前に呼び出される コールバックインタフェースを設定します。

パラメータ:
onRead - OnRead<DataType>インタフェースを持つオブジェクト

setOnReadConvert

public void setOnReadConvert(OnReadConvert<DataType> onReadConvert)

ポートが持つバッファからデータが読み出される際に呼び出される コールバックインタフェースを設定します。
コールバックインタフェースの戻り値がread()メソッドの読み出し結果として取得されます。

パラメータ:
onReadConvert - OnReadConvert<DataType>インタフェースを持つオブジェクト

setOnOverflow

public void setOnOverflow(OnOverflow<DataType> onOverflow)

データ書き込み時に、バッファオーバーフロー検出の際に呼び出される コールバックインタフェースを設定します。

パラメータ:
onOverflow - OnOverflow<DataType>インタフェースを持つオブジェクト

setOnUnderflow

public void setOnUnderflow(OnUnderflow<DataType> onUnderflow)

データ読み込みときに、バッファアンダーフロー検出の際に呼び出される コールバックインタフェースを設定します。

パラメータ:
onUnderflow - OnUnderflow<DataType>インタフェースを持つオブジェクト

length

public int length()

ポート内のバッファ長を取得します。

定義:
インタフェース BufferBase<DataType> 内の length
戻り値:
バッファ長

read

public boolean read(DataRef<DataType> valueRef)

データを読み取ります。

定義:
インタフェース BufferBase<DataType> 内の read
パラメータ:
valueRef - 読み取ったデータを受け取るためのDataRefオブジェクト
戻り値:
読み込みに成功した場合はtrueを、さもなくばfalseを返します。

isFull

public boolean isFull()

バッファフルかどうかを取得します。

定義:
インタフェース BufferBase<DataType> 内の isFull
戻り値:
バッファフルの場合はtrueを、さもなくばfalseを返します。

isEmpty

public boolean isEmpty()

バッファが空である、つまり読み取れるデータがないかどうかを取得します。

定義:
インタフェース BufferBase<DataType> 内の isEmpty
戻り値:
バッファが空の場合はtrueを、さもなくばfalseを返します。

put

public void put(DataType data)

データを書き込みます。

定義:
インタフェース BufferBase<DataType> 内の put
パラメータ:
data - 書き込むデータ

get

public DataType get()

データを読み取ります。

定義:
インタフェース BufferBase<DataType> 内の get
戻り値:
読み取ったデータ

isNew

public boolean isNew()
インタフェース BufferBase の記述:

バッファ中に、まだ読み取られていないデータがあるかどうか判定します。

定義:
インタフェース BufferBase<DataType> 内の isNew
戻り値:
読み取られていないデータがあればtrueを、さもなくばfalseを返します。