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
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protectedMessageInfo()このクラスの新しいインスタンスを初期化します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 abstract SocketAddressaddress()メッセージを受信した場合は送信元のソケット・アドレスを返します。それ以外の場合は、優先されるメッセージの送信先が返されます。abstract Associationassociation()メッセージを受信した場合は、メッセージを受信したアソシエーションを返します。それ以外の場合は、メッセージが送信されるアソシエーションを返します。abstract intbytes()受信したメッセージの読込みバイト数を返します。abstract MessageInfocomplete(boolean complete)メッセージが完了したかどうかを設定します。static MessageInfocreateOutgoing(Association association, SocketAddress address, int streamNumber)指定されたアソシエーションにメッセージを送信する際の使用に適したMessageInfoインスタンスを作成します。static MessageInfocreateOutgoing(SocketAddress address, int streamNumber)メッセージを送信する際の使用に適したMessageInfoインスタンスを作成します。abstract booleanisComplete()メッセージが完了したかどうかを判断します。abstract booleanisUnordered()メッセージが順序付けられていないかどうかを判断します。abstract intpayloadProtocolID()ペイロード・プロトコル識別子を返します。abstract MessageInfopayloadProtocolID(int ppid)ペイロード・プロトコル識別子を設定します。abstract intstreamNumber()メッセージを受信した場合は、メッセージを受信したストリーム番号を返します。それ以外の場合は、メッセージが送信されるストリーム番号を返します。abstract MessageInfostreamNumber(int streamNumber)メッセージが送信されるストリーム番号を設定します。abstract longtimeToLive()メッセージが送信されなかった場合に送信側が期限切れにすることができる期間。タイム・アウトが発生しないように指定する場合は0。abstract MessageInfotimeToLive(long millis)メッセージが送信されなかった場合に送信側が期限切れにすることができる期間を設定します。abstract MessageInfounordered(boolean unordered)メッセージが順序付けられていないかどうかを設定します。
-
コンストラクタの詳細
-
MessageInfo
protected MessageInfo()このクラスの新しいインスタンスを初期化します。
-
-
メソッドの詳細
-
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- メッセージの送信先となるアソシエーションの優先ピア・アドレスで、ピアのプライマリ・アドレスを使用する場合はnullstreamNumber- メッセージが送信されるストリーム番号。- 戻り値:
- 送信メッセージ情報
- 例外:
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()
-