パッケージ org.piax.gtrans

インタフェース Channel<E extends Endpoint>

既知の実装クラスのリスト:
ChannelImpl, IdChannel, NettyChannel, NettyRawChannel, UdpIdChannel

public interface Channel<E extends Endpoint>
Channel interface for the generic transport.
  • メソッドの概要

    修飾子とタイプ メソッド 説明
    void close()
    Channelをcloseする。
    int getChannelNo()
    このChannelが内部的に持つ番号を返す。
    E getLocal()
    このChannelのローカル側のEndpointを返す。
    ObjectId getLocalObjectId()
    このChannelのローカル側に位置するエンティティのobject IDを返す。
    E getRemote()
    このChannelのリモート側のEndpointを返す。
    ObjectId getRemoteObjectId()
    このChannelのリモート側に位置するエンティティのobject IDを返す。
    TransportId getTransportId()
    このChannelオブジェクトを所有するTransportオブジェクトのtransport IDを返す。
    boolean isClosed()  
    boolean isCreatorSide()
    このChannelオブジェクトを持つTransportオブジェクトによってChannelが生成されたかどうかを判定する。
    boolean isDuplex()
    このChannelが双方向通信可能かどうかを判定する。
    Object receive()
    Channelから直ちにメッセージを受信する。
    Object receive​(int timeout)
    Channelからメッセージを受信する。
    void send​(Object msg)
    Channelにmsgにより指定されたメッセージを送信する。
  • メソッドの詳細

    • close

      void close()
      Channelをcloseする。 なお、closeメソッドは多重に呼ばれても問題は起こらない。
    • isClosed

      boolean isClosed()
    • getTransportId

      TransportId getTransportId()
      このChannelオブジェクトを所有するTransportオブジェクトのtransport IDを返す。
      戻り値:
      このChannelオブジェクトを所有するTransportオブジェクトのtransport ID
    • getChannelNo

      int getChannelNo()
      このChannelが内部的に持つ番号を返す。
      戻り値:
      このChannelが内部的に持つ番号
    • getLocal

      E getLocal()
      このChannelのローカル側のEndpointを返す。
      戻り値:
      ローカル側のEndpoint
    • getLocalObjectId

      ObjectId getLocalObjectId()
      このChannelのローカル側に位置するエンティティのobject IDを返す。
      戻り値:
      ローカル側の端点に位置するエンティティのobject ID
    • getRemote

      E getRemote()
      このChannelのリモート側のEndpointを返す。
      戻り値:
      リモート側のEndpoint
    • getRemoteObjectId

      ObjectId getRemoteObjectId()
      このChannelのリモート側に位置するエンティティのobject IDを返す。
      戻り値:
      リモート側の端点に位置するエンティティのobject ID
    • isDuplex

      boolean isDuplex()
      このChannelが双方向通信可能かどうかを判定する。 双方向通信可能な場合はtrueが返される。
      戻り値:
      このChannelが双方向通信可能な場合はtrue、それ以外はfalse
    • isCreatorSide

      boolean isCreatorSide()
      このChannelオブジェクトを持つTransportオブジェクトによってChannelが生成されたかどうかを判定する。 こちら側のTransportオブジェクトによってChannelが生成された場合はtrueが返される。
      戻り値:
      こちら側のTransportオブジェクトによってChannelが生成された場合はtrue、 それ以外はfalse
    • send

      void send​(Object msg) throws IOException
      Channelにmsgにより指定されたメッセージを送信する。
      パラメータ:
      msg - 送信メッセージ
      例外:
      IOException - I/Oエラーが発生した場合
    • receive

      Object receive()
      Channelから直ちにメッセージを受信する。 Channelがメッセージを受信していない場合は、nullが返される。
      戻り値:
      受信メッセージ、受信していない場合はnull
    • receive

      Object receive​(int timeout) throws NetworkTimeoutException
      Channelからメッセージを受信する。 Channelがメッセージを受信していない場合は、指定されたtimeoutの時間、受信するまでブロックする。 timeoutをすぎた場合はNetworkTimeoutExceptionがthrowされる。
      パラメータ:
      timeout - 受信のための待機時間(msec)
      戻り値:
      受信メッセージ
      例外:
      NetworkTimeoutException - 待機時間が経過した場合