クラスMessageInfo

java.lang.Object
com.sun.nio.sctp.MessageInfo

public abstract class MessageInfo extends Object
MessageInfoクラスは、メッセージに関する追加の補助情報を提供します。

SctpChannel.receiveおよびSctpMultiChannel.receiveによって返された受信SCTPメッセージは、MessageInfoインスタンスを返します。このインスタンスを照会することで、受信したメッセージに関する補助情報を決定できます。 送信されるメッセージでは、送信されるメッセージの補助データを提供するために、いずれかのcreateOutgoingメソッドを使用する必要がありますが、unorderedtimeToLivecompleteおよびpayloadProtocolIDに指定されたデフォルト値をオーバーライドするために、メッセージを送信する前に適切な設定メソッドを使用できます。

送信メッセージの場合、timeToLiveパラメータは、メッセージが送信されなかった場合に送信側SCTPスタックが期限切れにすることができる期間です。 この期間によって、期限切れになるとメッセージの送信が不要になることをスタックに指示します。 これは強制的なタイム・アウトではなく、アソシエーションがPartial Reliability Extension (RFC 3758)をサポートしているかどうかの影響を受けることがあります。

MessageInfoインスタンスは、複数の並行スレッドによる使用において安全ではありません。 複数のスレッドで使用する場合は、適切な同期処理によってMessageInfoへのアクセスを制御するようにしてください。

導入されたバージョン:
1.7
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    このクラスの新しいインスタンスを初期化します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    abstract SocketAddress
    メッセージを受信した場合は送信元のソケット・アドレスを返します。それ以外の場合は、優先されるメッセージの送信先が返されます。
    abstract Association
    メッセージを受信した場合は、メッセージを受信したアソシエーションを返します。それ以外の場合は、メッセージが送信されるアソシエーションを返します。
    abstract int
    受信したメッセージの読込みバイト数を返します。
    abstract MessageInfo
    complete(boolean complete)
    メッセージが完了したかどうかを設定します。
    createOutgoing(Association association, SocketAddress address, int streamNumber)
    指定されたアソシエーションにメッセージを送信する際の使用に適したMessageInfoインスタンスを作成します。
    createOutgoing(SocketAddress address, int streamNumber)
    メッセージを送信する際の使用に適したMessageInfoインスタンスを作成します。
    abstract boolean
    メッセージが完了したかどうかを判断します。
    abstract boolean
    メッセージが順序付けられていないかどうかを判断します。
    abstract int
    ペイロード・プロトコル識別子を返します。
    abstract MessageInfo
    ペイロード・プロトコル識別子を設定します。
    abstract int
    メッセージを受信した場合は、メッセージを受信したストリーム番号を返します。それ以外の場合は、メッセージが送信されるストリーム番号を返します。
    abstract MessageInfo
    streamNumber(int streamNumber)
    メッセージが送信されるストリーム番号を設定します。
    abstract long
    メッセージが送信されなかった場合に送信側が期限切れにすることができる期間。タイム・アウトが発生しないように指定する場合は0
    abstract MessageInfo
    timeToLive(long millis)
    メッセージが送信されなかった場合に送信側が期限切れにすることができる期間を設定します。
    abstract MessageInfo
    unordered(boolean unordered)
    メッセージが順序付けられていないかどうかを設定します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • MessageInfo

      protected MessageInfo()
      このクラスの新しいインスタンスを初期化します。
  • メソッドの詳細

    • createOutgoing

      public static MessageInfo createOutgoing(SocketAddress address, int streamNumber)
      メッセージを送信する際の使用に適したMessageInfoインスタンスを作成します。

      返されるインスタンスのunordered値はfalsetimeToLive値は0complete値はtruepayloadProtocolID値は0に設定されます。 必要に応じて、これらの値はメッセージを送信する前に、適切な設定メソッドを使用して設定できます。

      パラメータ:
      address - 接続されたSctpChannelの場合、addressはメッセージの送信先となるアソシエーションの優先ピア・アドレスで、ピアのプライマリ・アドレスを使用する場合はnull SctpMultiChannelの場合、addressはアソシエーションを決定するために使用され、このアドレスのピアを持つアソシエーションが存在しない場合は、そのようなアソシエーションが設定される。
      streamNumber - メッセージが送信されるストリーム番号
      戻り値:
      送信メッセージ情報
      スロー:
      IllegalArgumentException - streamNumberが負の値または65536よりも大きい場合
    • createOutgoing

      public static MessageInfo createOutgoing(Association association, SocketAddress address, int streamNumber)
      指定されたアソシエーションにメッセージを送信する際の使用に適したMessageInfoインスタンスを作成します。 通常、アソシエーションがすでに設定されているときにSctpMultiChannelに対して使用されます。

      返されるインスタンスのunordered値はfalsetimeToLive値は0complete値はtruepayloadProtocolID値は0に設定されます。 必要に応じて、これらの値はメッセージを送信する前に、適切な設定メソッドを使用して設定できます。

      パラメータ:
      association - メッセージが送信されるアソシエーション
      address - メッセージの送信先となるアソシエーションの優先ピア・アドレスで、ピアのプライマリ・アドレスを使用する場合はnull
      streamNumber - メッセージが送信されるストリーム番号。
      戻り値:
      送信メッセージ情報
      スロー:
      IllegalArgumentException - associationnullの場合、またはstreamNumberが負の値または65536よりも大きい場合
    • address

      public abstract SocketAddress address()
      メッセージを受信した場合は送信元のソケット・アドレスを返します。それ以外の場合は、優先されるメッセージの送信先が返されます。
      戻り値:
      ソケット・アドレス、またはこのインスタンスがメッセージの送信に使用され、優先送信先アドレスが指定されずに構築された場合はnull
    • association

      public abstract Association association()
      メッセージを受信した場合は、メッセージを受信したアソシエーションを返します。それ以外の場合は、メッセージが送信されるアソシエーションを返します。
      戻り値:
      アソシエーション、またはこのインスタンスがメッセージの送信に使用され、createOutgoing(SocketAddress,int) staticファクトリ・メソッドを使用して構築された場合はnull
    • bytes

      public abstract int bytes()
      受信したメッセージの読込みバイト数を返します。

      このメソッドは、受信したメッセージのみに適用され、送信されるメッセージには意味がありません。

      戻り値:
      読み込まれるバイト数。チャネルがストリームの終わりに到達したSctpChannelである場合は-1、それ以外の場合は0
    • isComplete

      public abstract boolean isComplete()
      メッセージが完了したかどうかを判断します。

      受信したメッセージでは、trueはメッセージの受信が完了したことを示します。 送信されるメッセージでは、trueはメッセージが完了したことを示し、falseはメッセージが完了していないことを示します。 この値が送信チャネルでどのように解釈されるのかは、SCTP_EXPLICIT_COMPLETEソケット・オプションの値によって異なります。

      戻り値:
      メッセージが完了した場合にかぎりtrue
    • complete

      public abstract MessageInfo complete(boolean complete)
      メッセージが完了したかどうかを設定します。

      送信されるメッセージでは、trueはメッセージが完了したことを示し、falseはメッセージが完了していないことを示します。 この値が送信チャネルでどのように解釈されるのかは、SCTP_EXPLICIT_COMPLETEソケット・オプションの値によって異なります。

      パラメータ:
      complete - メッセージが完了した場合にかぎりtrue
      戻り値:
      このMessageInfo
      関連項目:
    • isUnordered

      public abstract boolean isUnordered()
      メッセージが順序付けられていないかどうかを判断します。 受信したメッセージでは、trueはメッセージが順序付けられていない状態で送信されたことを示します。 送信されるメッセージでは、trueはメッセージが順序付けられていない状態で配信されることを要求し、falseはメッセージが順序付けられていることを示します。
      戻り値:
      メッセージが順序付けされない場合はtrue、それ以外の場合はfalse
    • unordered

      public abstract MessageInfo unordered(boolean unordered)
      メッセージが順序付けられていないかどうかを設定します。
      パラメータ:
      unordered - trueはメッセージが順序付けられていない状態で配信されることを要求し、falseはメッセージが順序付けられていることを示す。
      戻り値:
      このMessageInfo
      関連項目:
    • payloadProtocolID

      public abstract int payloadProtocolID()
      ペイロード・プロトコル識別子を返します。

      送受信されるペイロード・プロトコル・データの型を示す値。 この値は、SCTPによって不透明なデータとして渡されます。0は、未指定のペイロード・プロトコル識別子を示します。

      戻り値:
      ペイロード・プロトコル識別子
    • payloadProtocolID

      public abstract MessageInfo payloadProtocolID(int ppid)
      ペイロード・プロトコル識別子を設定します。

      送信されるペイロード・プロトコル・データの型を示す値。 この値は、SCTPによって不透明なデータとして渡されます。

      パラメータ:
      ppid - ペイロード・プロトコル識別子。0は未指定のペイロード・プロトコル識別子を示す。
      戻り値:
      このMessageInfo
      関連項目:
    • streamNumber

      public abstract int streamNumber()
      メッセージを受信した場合は、メッセージを受信したストリーム番号を返します。それ以外の場合は、メッセージが送信されるストリーム番号を返します。
      戻り値:
      ストリーム番号
    • streamNumber

      public abstract MessageInfo streamNumber(int streamNumber)
      メッセージが送信されるストリーム番号を設定します。
      パラメータ:
      streamNumber - ストリーム番号
      戻り値:
      このMessageInfo
      スロー:
      IllegalArgumentException - streamNumberが負の値または65536よりも大きい場合
    • timeToLive

      public abstract long timeToLive()
      メッセージが送信されなかった場合に送信側が期限切れにすることができる期間。タイム・アウトが発生しないように指定する場合は0 この値は、送信されるメッセージのみに適用され、受信したメッセージには意味がありません。
      戻り値:
      期間(ミリ秒)、または0
    • timeToLive

      public abstract MessageInfo timeToLive(long millis)
      メッセージが送信されなかった場合に送信側が期限切れにすることができる期間を設定します。
      パラメータ:
      millis - 期間(ミリ秒)。0は、タイム・アウトが発生するべきでないことを示す
      戻り値:
      このMessageInfo
      関連項目: