public class InPortPullConnector extends InPortConnector
InPort の pull 型データフローのための Connector クラス。このオブ ジェクトは、接続時に dataflow_type に pull が指定された場合、 InPort によって生成・所有され、OutPortPullConnector と対になって、 データポートの pull 型のデータフローを実現する。一つの接続に対して、 一つのデータストリームを提供する唯一の Connector が対応する。 Connector は 接続時に生成される UUID 形式の ID により区別される。 InPortPullConnector は以下の三つのオブジェクトを所有し管理する。
ConnectorBase.ConnectorInfo, ConnectorBase.ConnectorInfoHolder
m_buffer, m_directOutPort, m_isLittleEndian, m_orb, m_outPortListeners, m_profile
コンストラクタと説明 |
---|
InPortPullConnector(ConnectorBase.ConnectorInfo profile,
OutPortConsumer consumer,
ConnectorListeners listeners,
BufferBase<org.omg.CORBA.portable.OutputStream> buffer)
コンストラクタ.
|
修飾子とタイプ | メソッドと説明 |
---|---|
void |
activate()
アクティブ化
このコネクタをアクティブ化する
|
protected BufferBase<org.omg.CORBA.portable.OutputStream> |
createBuffer(ConnectorBase.ConnectorInfo profile)
Bufferの生成
与えられた接続情報に基づきバッファを生成する。
|
void |
deactivate()
非アクティブ化
このコネクタを非アクティブ化する
|
ReturnCode |
disconnect()
接続解除関数
Connector が保持している接続を解除する
|
protected void |
onConnect()
接続確立時にコールバックを呼ぶ
|
protected void |
onDisconnect()
接続切断時にコールバックを呼ぶ
|
ReturnCode |
read(DataRef<org.omg.CORBA.portable.InputStream> data)
read 関数
{@.ja OutPortConsumer からデータを取得する。
|
void |
setListener(ConnectorBase.ConnectorInfo profile,
ConnectorListeners listeners)
リスナを設定する。
|
getBuffer, id, isLittleEndian, name, profile, setEndian, setOutPort
public InPortPullConnector(ConnectorBase.ConnectorInfo profile, OutPortConsumer consumer, ConnectorListeners listeners, BufferBase<org.omg.CORBA.portable.OutputStream> buffer) throws java.lang.Exception
InPortPullConnector のコンストラクタはオブジェクト生成時に下記 を引数にとる。ConnectorInfo は接続情報を含み、この情報に従いバッ ファ等を生成する。OutPort インターフェースのプロバイダオブジェク トへのポインタを取り、所有権を持つので、InPortPullConnector は OutPortConsumer の解体責任を持つ。各種イベントに対するコールバッ ク機構を提供する ConnectorListeners を持ち、適切なタイミングでコー ルバックを呼び出す。データバッファがもし InPortBase から提供さ れる場合はそのポインタを取る。
profile
- ConnectorInfo
consumer
- OutPortConsumer
listeners
- ConnectorListeners 型のリスナオブジェクトリスト
buffer
- CdrBufferBase 型のバッファ
java.lang.Exception
public ReturnCode read(DataRef<org.omg.CORBA.portable.InputStream> data)
OutPortConsumer からデータを取得する。正常に読み出せた場合、戻り 値は PORT_OK となり、data に読み出されたデータが格納される。それ 以外の場合には、エラー値として BUFFER_EMPTY, TIMEOUT, PRECONDITION_NOT_MET, PORT_ERROR が返される。
read
クラス内 InPortConnector
public ReturnCode disconnect()
Connector が保持している接続を解除する
disconnect
クラス内 InPortConnector
public void activate()
このコネクタをアクティブ化する
activate
クラス内 ConnectorBase
public void deactivate()
このコネクタを非アクティブ化する
deactivate
クラス内 ConnectorBase
protected BufferBase<org.omg.CORBA.portable.OutputStream> createBuffer(ConnectorBase.ConnectorInfo profile)
与えられた接続情報に基づきバッファを生成する。
profile
- 接続情報
protected void onConnect()
protected void onDisconnect()
public void setListener(ConnectorBase.ConnectorInfo profile, ConnectorListeners listeners)
InPort はデータ送信処理における各種イベントに対して特定のリスナ オブジェクトをコールするコールバック機構を提供する。詳細は ConnectorListener.h の ConnectorDataListener, ConnectorListener 等を参照のこと。InPortCorbaCdrProvider では、以下のコールバック が提供される。
setListener
クラス内 InPortConnector
profile
- 接続情報
listeners
- リスナオブジェクト