- java.lang.Object
-
- com.sun.nio.sctp.MessageInfo
-
public abstract class MessageInfo extends Object
MessageInfo
クラスは、メッセージに関する追加の補助情報を提供します。SctpChannel.receive
およびSctpMultiChannel.receive
によって返された受信SCTPメッセージは、MessageInfo
インスタンスを返します。このインスタンスを照会することで、受信したメッセージに関する補助情報を決定できます。 送信されるメッセージでは、送信されるメッセージの補助データを提供するために、いずれかのcreateOutgoing
メソッドを使用する必要がありますが、unordered
、timeToLive
、complete
および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)
メッセージが順序付けられていないかどうかを設定します。
-
-
-
メソッドの詳細
-
createOutgoing
public static MessageInfo createOutgoing(SocketAddress address, int streamNumber)
メッセージを送信する際の使用に適したMessageInfo
インスタンスを作成します。返されるインスタンスの
unordered
値はfalse
、timeToLive
値は0
、complete
値はtrue
、payloadProtocolID
値は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
値はfalse
、timeToLive
値は0
、complete
値はtrue
、payloadProtocolID
値は0
に設定されます。 必要に応じて、これらの値はメッセージを送信する前に、適切な設定メソッドを使用して設定できます。- パラメータ:
association
- メッセージが送信されるアソシエーションaddress
- メッセージの送信先となるアソシエーションの優先ピア・アドレスで、ピアのプライマリ・アドレスを使用する場合はnull
streamNumber
- メッセージが送信されるストリーム番号。- 戻り値:
- 送信メッセージ情報
- 例外:
IllegalArgumentException
-association
がnull
の場合、または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()
-
-