DataType
- データ型を指定します。public class InPort<DataType> extends InPortBase
入力ポートのためのベース実装クラスです。 外部から送信されてきたデータは順次、コンストラクタで指定されたバッファに格納されます。 バッファ内のデータはフラグによって未読/既読状態が管理され、isNew(), isEmpty()などの メソッドによってハンドリングできます。
PortBase.connect_func, PortBase.disconnect_all_func, PortBase.disconnect_func, PortBase.find_conn_id, PortBase.find_interface, PortBase.find_port_ref
m_connectors, m_consumerTypes, m_listeners, m_properties, m_providerTypes, m_singlebuffer, m_thebuffer
m_connectionLimit, m_connectorsMutex, m_objref, m_onConnected, m_onConnectionLost, m_onConnectionLost_mutex, m_onDisconnected, m_onPublishInterfaces, m_onSubscribeInterfaces, m_onUnsubscribeInterfaces, m_ownerInstanceName, m_portconnListeners, m_profile, m_profile_mutex, rtcout
Constructor and Description |
---|
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)
コンストラクタです。
読み取り・書き込みともに非ブロックモードとなり、タイムアウト時間は0で設定されます。
|
Modifier and Type | Method and Description |
---|---|
DataType |
extract()
Read the newly value data in InPort to type-T variable
|
boolean |
isEmpty()
Check whether the data is newest
|
boolean |
isNew()
Check whether the data is newest
|
java.lang.String |
name()
ポート名称を取得します。
|
boolean |
read()
Readout the value from DataPort
|
void |
setOnOverflow(OnOverflow<DataType> onOverflow)
データ書き込み時に、バッファオーバーフロー検出の際に呼び出される
コールバックインタフェースを設定します。
|
void |
setOnRead(OnRead<DataType> onRead)
ポートが持つバッファからデータが読み込まれる直前に呼び出される
コールバックインタフェースを設定します。
|
void |
setOnReadConvert(OnReadConvert<DataType> onReadConvert)
ポートが持つバッファからデータが読み出される際に呼び出される
コールバックインタフェースを設定します。
コールバックインタフェースの戻り値がread()メソッドの読み出し結果として取得されます。 |
void |
setOnUnderflow(OnUnderflow<DataType> onUnderflow)
データ読み込みときに、バッファアンダーフロー検出の際に呼び出される
コールバックインタフェースを設定します。
|
void |
setOnWrite(OnWrite<DataType> onWrite)
ポートが持つバッファにデータが書き込まれる直前に呼び出される
コールバックインタフェースを設定します。
|
void |
setOnWriteConvert(OnWriteConvert<DataType> onWriteConvert)
ポートが持つバッファにデータが書き込まれる際に呼び出される
コールバックインタフェースを設定します。
コールバックインタフェースの戻り値がバッファに書き込まれます。 |
boolean |
setStreamable(org.omg.CORBA.portable.Streamable holderStreamable)
{@.en Sets Streamable.
|
void |
update()
バインドされたDataType型のデータに、ポート内バッファの最新値を読み込みます。
ただし、あらかじめコンストラクタで、DataType型の変数がバインドされていなければなりません。 |
void |
write(DataRef<DataType> data)
Write data
|
activateInterfaces, addConnectorDataListener, addConnectorDataListener, addConnectorDataListener, addConnectorDataListener, addConnectorListener, addConnectorListener, connect, connectors, createConnector, createConnector, createConsumer, createProvider, deactivateInterfaces, getConnectorById, getConnectorByName, getConnectorIds, getConnectorNames, getConnectorProfileById, getConnectorProfileByName, getConnectorProfiles, getListeners, getLocalOutPort, init, initConsumers, initProviders, isLittleEndian, notify_connect, properties, publishInterfaces, removeConnectorDataListener, removeConnectorDataListener, removeConnectorListener, subscribeInterfaces, unsubscribeInterfaces
_publishInterfaces, _this, addProperty, appendInterface, appendProperty, checkPorts, connectNext, deleteInterface, disconnect_all, disconnect, disconnectNext, eraseConnectorProfile, findConnProfile, findConnProfileIndex, get_connector_profile, get_connector_profiles, get_port_profile, getName, getPortProfile, getPortRef, getProfile, getUUID, isEmptyId, isExistingConnId, notify_disconnect, onConnected, onConnectNextport, onDisconnected, onDisconnectNextport, onNotifyConnect, onNotifyDisconnect, onPublishInterfaces, onSubscribeInterfaces, onUnsubscribeInterfaces, setConnectionLimit, setName, setOnConnected, setOnConnectionLost, setOnDisconnected, setOnPublishInterfaces, setOnSubscribeInterfaces, setOnUnsubscribeInterfaces, setOwner, setPortConnectListenerHolder, setPortRef, setUUID, updateConnectorProfile, updateConnectors
_all_interfaces, _invoke, _this
public InPort(BufferBase<DataType> superClass, java.lang.String name, DataRef<DataType> value, boolean read_block, boolean write_block, long read_timeout, long write_timeout)
コンストラクタです。
name
- ポート名称value
- このポートにバインドされるDataType型の変数read_block
- データ読み込み時に未読データがない場合に、データ受信までブロックする場合はtrue、さもなくばfalsewrite_block
- データ書き込み時にバッファがフルであった場合に、バッファに空きができるまでブロック場合はtrue、さもなくばfalseread_timeout
- 非ブロック指定の場合の、データ読み取りのタイムアウト時間 (ミリ秒)write_timeout
- 非ブロック指定の場合の、データ書き込みのタイムアウト時間 (ミリ秒)public java.lang.String name()
ポート名称を取得します。
public boolean isNew()
Check whether the data stored at a current buffer position is i newest.
public boolean read()
Readout the value from DataPort - When Callback functor OnRead is already set, OnRead will be invoked before reading from the buffer held by DataPort. - When the buffer held by DataPort can detect the underflow, and when it detected the underflow at reading, callback functor OnUnderflow will be invoked. - When callback functor OnReadConvert is already set, the return value of operator() of OnReadConvert will be the return value of read(). - When timeout of reading is already set by setReadTimeout(), it waits for only timeout time until the state of the buffer underflow is reset, and if OnUnderflow is already set, this will be invoked to return.
read
in class InPortBase
public void update()
バインドされたDataType型のデータに、ポート内バッファの最新値を読み込みます。
ただし、あらかじめコンストラクタで、DataType型の変数がバインドされていなければなりません。
public DataType extract()
Read the newly data set in InPort and set to specified data variable.
public void setOnWrite(OnWrite<DataType> onWrite)
ポートが持つバッファにデータが書き込まれる直前に呼び出される コールバックインタフェースを設定します。
onWrite
- OnWrite<DataType>インタフェースを持つオブジェクトpublic void setOnWriteConvert(OnWriteConvert<DataType> onWriteConvert)
ポートが持つバッファにデータが書き込まれる際に呼び出される
コールバックインタフェースを設定します。
コールバックインタフェースの戻り値がバッファに書き込まれます。
onWriteConvert
- OnWriteConvert<DataType>インタフェースを持つオブジェクトpublic void setOnRead(OnRead<DataType> onRead)
ポートが持つバッファからデータが読み込まれる直前に呼び出される コールバックインタフェースを設定します。
onRead
- OnRead<DataType>インタフェースを持つオブジェクトpublic void setOnReadConvert(OnReadConvert<DataType> onReadConvert)
ポートが持つバッファからデータが読み出される際に呼び出される
コールバックインタフェースを設定します。
コールバックインタフェースの戻り値がread()メソッドの読み出し結果として取得されます。
onReadConvert
- OnReadConvert<DataType>インタフェースを持つオブジェクトpublic void setOnOverflow(OnOverflow<DataType> onOverflow)
データ書き込み時に、バッファオーバーフロー検出の際に呼び出される コールバックインタフェースを設定します。
onOverflow
- OnOverflow<DataType>インタフェースを持つオブジェクトpublic void setOnUnderflow(OnUnderflow<DataType> onUnderflow)
データ読み込みときに、バッファアンダーフロー検出の際に呼び出される コールバックインタフェースを設定します。
onUnderflow
- OnUnderflow<DataType>インタフェースを持つオブジェクトpublic boolean isEmpty()
Check whether the data stored at a current buffer position is newest.
public void write(DataRef<DataType> data)
data
-
The target data for writingpublic boolean setStreamable(org.omg.CORBA.portable.Streamable holderStreamable)
This method sets Streamable used when making it to CDR. Moreover, this method acquires the value field from Streamable.
holderStreamable
-
Streamable of Holder class