パッケージ org.piax.gtrans.impl
クラス ChannelImpl<E extends Endpoint>
java.lang.Object
org.piax.gtrans.impl.ChannelImpl<E>
- すべての実装されたインタフェース:
Channel<E>
public abstract class ChannelImpl<E extends Endpoint> extends Object implements Channel<E>
Channelオブジェクトを実装するための部品として使用するabstractクラス
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 protected PeerIdcreatorprotected booleanisDuplexprotected ObjectIdlocalObjectIdprotected ChannelTransport<E>motherprotected Eremoteprotected ObjectIdremoteObjectId -
メソッドの概要
修飾子とタイプ メソッド 説明 protected voidcheckActive()Channelオブジェクトがアクティブな状態であるかどうかをチェックする。voidclose()Channelをcloseする。intgetChannelNo()このChannelが内部的に持つ番号を返す。EgetLocal()このChannelのローカル側のEndpointを返す。ObjectIdgetLocalObjectId()このChannelのローカル側に位置するエンティティのobject IDを返す。EgetRemote()このChannelのリモート側のEndpointを返す。ObjectIdgetRemoteObjectId()このChannelのリモート側に位置するエンティティのobject IDを返す。TransportIdgetTransportId()このChannelオブジェクトを所有するTransportオブジェクトのtransport IDを返す。booleanisClosed()booleanisCreatorSide()このChannelオブジェクトを持つTransportオブジェクトによってChannelが生成されたかどうかを判定する。booleanisDuplex()このChannelが双方向通信可能かどうかを判定する。protected voidputReceiveQueue(Object msg)rcvQueueに受信メッセージをputする。Objectreceive()Channelから直ちにメッセージを受信する。Objectreceive(int timeout)Channelからメッセージを受信する。StringtoString()
-
フィールド詳細
-
creator
-
mother
-
localObjectId
-
remoteObjectId
-
remote
-
isDuplex
protected final boolean isDuplex
-
-
メソッドの詳細
-
close
public void close()インタフェースからコピーされた説明:ChannelChannelをcloseする。 なお、closeメソッドは多重に呼ばれても問題は起こらない。 -
isClosed
public boolean isClosed() -
checkActive
Channelオブジェクトがアクティブな状態であるかどうかをチェックする。 close() が呼ばれてインアクティブな状態である場合は、IllegalStateExceptionがthrowされる。 サブクラスの場合も含め、close() の後に呼び出されては困る場合のメソッド呼び出しの際のチェックに用いる。- 例外:
IllegalStateException- Channelオブジェクトがインアクティブな状態である場合
-
getTransportId
インタフェースからコピーされた説明:ChannelこのChannelオブジェクトを所有するTransportオブジェクトのtransport IDを返す。- 定義:
getTransportIdインタフェース内Channel<E extends Endpoint>- 戻り値:
- このChannelオブジェクトを所有するTransportオブジェクトのtransport ID
-
getChannelNo
public int getChannelNo()インタフェースからコピーされた説明:ChannelこのChannelが内部的に持つ番号を返す。- 定義:
getChannelNoインタフェース内Channel<E extends Endpoint>- 戻り値:
- このChannelが内部的に持つ番号
-
getLocal
インタフェースからコピーされた説明:ChannelこのChannelのローカル側のEndpointを返す。 -
getLocalObjectId
インタフェースからコピーされた説明:ChannelこのChannelのローカル側に位置するエンティティのobject IDを返す。- 定義:
getLocalObjectIdインタフェース内Channel<E extends Endpoint>- 戻り値:
- ローカル側の端点に位置するエンティティのobject ID
-
getRemote
インタフェースからコピーされた説明:ChannelこのChannelのリモート側のEndpointを返す。 -
getRemoteObjectId
インタフェースからコピーされた説明:ChannelこのChannelのリモート側に位置するエンティティのobject IDを返す。- 定義:
getRemoteObjectIdインタフェース内Channel<E extends Endpoint>- 戻り値:
- リモート側の端点に位置するエンティティのobject ID
-
isDuplex
public boolean isDuplex()インタフェースからコピーされた説明:ChannelこのChannelが双方向通信可能かどうかを判定する。 双方向通信可能な場合はtrueが返される。 -
isCreatorSide
public boolean isCreatorSide()インタフェースからコピーされた説明:ChannelこのChannelオブジェクトを持つTransportオブジェクトによってChannelが生成されたかどうかを判定する。 こちら側のTransportオブジェクトによってChannelが生成された場合はtrueが返される。- 定義:
isCreatorSideインタフェース内Channel<E extends Endpoint>- 戻り値:
- こちら側のTransportオブジェクトによってChannelが生成された場合はtrue、 それ以外はfalse
-
putReceiveQueue
rcvQueueに受信メッセージをputする。 このメソッドは、motherとなるTransportの受信部分からディスパッチされて呼び出される。- パラメータ:
msg- 受信メッセージ
-
receive
インタフェースからコピーされた説明:ChannelChannelから直ちにメッセージを受信する。 Channelがメッセージを受信していない場合は、nullが返される。 -
receive
インタフェースからコピーされた説明:ChannelChannelからメッセージを受信する。 Channelがメッセージを受信していない場合は、指定されたtimeoutの時間、受信するまでブロックする。 timeoutをすぎた場合はNetworkTimeoutExceptionがthrowされる。- 定義:
receiveインタフェース内Channel<E extends Endpoint>- パラメータ:
timeout- 受信のための待機時間(msec)- 戻り値:
- 受信メッセージ
- 例外:
NetworkTimeoutException- 待機時間が経過した場合
-
toString
-