モジュール jdk.sctp
パッケージ 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 MessageInfo​()
      このクラスの新しいインスタンスを初期化します。
    • メソッドのサマリー

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

      • 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
        関連項目:
        isComplete()
      • isUnordered

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

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

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

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

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

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

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

        パラメータ:
        ppid - ペイロード・プロトコル識別子。0は未指定のペイロード・プロトコル識別子を示す。
        戻り値:
        このMessageInfo
        関連項目:
        payloadProtocolID()
      • 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
        関連項目:
        timeToLive()