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 へのアクセスを制御するようにしてください。
修飾子 | コンストラクタと説明 |
---|---|
protected |
MessageInfo()
このクラスの新しいインスタンスを初期化します。
|
修飾子と型 | メソッドと説明 |
---|---|
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)
メッセージが順序付けられていないかどうかを設定します。
|
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
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
よりも大きい場合public abstract SocketAddress address()
null
public abstract Association association()
createOutgoing(SocketAddress,int)
static ファクトリメソッドを使用して構築された場合は null
public abstract int bytes()
このメソッドは、受信したメッセージのみに適用され、送信されるメッセージには意味がありません。
SctpChannel
である場合は -1
、それ以外の場合は 0
public abstract boolean isComplete()
受信したメッセージでは、true
はメッセージの受信が完了したことを示します。送信されるメッセージでは、true
はメッセージが完了したことを示し、false
はメッセージが完了していないことを示します。この値が送信チャネルでどのように解釈されるのかは、SCTP_EXPLICIT_COMPLETE
ソケットオプションの値によって異なります。
true
public abstract MessageInfo complete(boolean complete)
送信されるメッセージでは、true
はメッセージが完了したことを示し、false
はメッセージが完了していないことを示します。この値が送信チャネルでどのように解釈されるのかは、SCTP_EXPLICIT_COMPLETE
ソケットオプションの値によって異なります。
complete
- メッセージが完了した場合にかぎり true
isComplete()
public abstract boolean isUnordered()
true
はメッセージが順序付けられていない状態で送信されたことを示します。送信されるメッセージでは、true
はメッセージが順序付けられていない状態で配信されることを要求し、false
はメッセージが順序付けられていることを示します。true
、それ以外の場合は false
public abstract MessageInfo unordered(boolean unordered)
unordered
- true
はメッセージが順序付けられていない状態で配信されることを要求し、false
はメッセージが順序付けられていることを示す。isUnordered()
public abstract int payloadProtocolID()
送受信されるペイロードプロトコルデータの型を示す値。この値は、SCTP によって不透明なデータとして渡されます。0
は、未指定のペイロードプロトコル識別子を示します。
public abstract MessageInfo payloadProtocolID(int ppid)
送信されるペイロードプロトコルデータの型を示す値。この値は、SCTP によって不透明なデータとして渡されます。
ppid
- ペイロードプロトコル識別子。0
は未指定のペイロードプロトコル識別子を示す。payloadProtocolID()
public abstract int streamNumber()
public abstract MessageInfo streamNumber(int streamNumber)
streamNumber
- ストリーム番号IllegalArgumentException
- streamNumber が負の値または次の値よりも大きい場合: 65536
public abstract long timeToLive()
0
。この値は、送信されるメッセージのみに適用され、受信したメッセージには意味がありません。0
public abstract MessageInfo timeToLive(long millis)
millis
- 期間 (ミリ秒)。0
は、タイムアウトが発生するべきでないことを示すtimeToLive()
Copyright © 2009, 2013, Oracle and/or its affiliates. All rights reserved.