クラス BufferingStompDecoder
java.lang.ObjectSE
org.springframework.messaging.simp.stomp.BufferingStompDecoder
StompDecoder を使用して、ByteBufferSE を 1 つ以上の STOMP メッセージにデコードします。メッセージが不完全な場合、未使用のコンテンツはバッファリングされ、次の入力バッファと結合されます。または、データがまだ十分でない場合は、バッファリングが続行されます。このデコーダーの単一のインスタンスは、デコードが失敗しない限り、単一のストリーム (たとえば、WebSocket セッション) からすべてのメッセージを読み取るために繰り返し呼び出すことができます。例外が発生した場合、StompDecoder インスタンスは、その内部状態の一貫性が保証されないため、それ以上使用しないでください。その時点で、基礎となるセッションが閉じられることが予想されます。
- 導入:
- 4.0.3
- 作成者:
- Rossen Stoyanchev
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明BufferingStompDecoder(StompDecoder stompDecoder, int bufferSizeLimit) 指定されたStompDecoderをラップする新しいBufferingStompDecoderを作成します。メソッドのサマリー
修飾子と型メソッド説明decode(ByteBufferSE newBuffer) 指定されたByteBufferから 1 つ以上の STOMP フレームをMessagesのリストにデコードします。int現在のバッファサイズを計算します。final int設定されたバッファサイズ制限を返します。現在バッファリングされている不完全な STOMP フレームの予想コンテンツ長を取得します。final StompDecoderラップされたStompDecoderを返します。
コンストラクターの詳細
BufferingStompDecoder
指定されたStompDecoderをラップする新しいBufferingStompDecoderを作成します。- パラメーター:
stompDecoder- ラップするターゲットデコーダbufferSizeLimit- バッファサイズの制限
メソッドの詳細
getStompDecoder
ラップされたStompDecoderを返します。getBufferSizeLimit
public final int getBufferSizeLimit()設定されたバッファサイズ制限を返します。decode
指定されたByteBufferから 1 つ以上の STOMP フレームをMessagesのリストにデコードします。"content-length" ヘッダーを解析するのに十分なデータがあった場合、その値を使用して、新たにデコードを試行する前に必要なデータ量を決定します。
"content-length" を解析するのに十分なデータがない場合、または "content-length" ヘッダーがある場合、それ以降のすべての呼び出しは、利用可能なすべてのデータを使用して再度解析を試みます。"content-length" ヘッダーの存在は、大きなメッセージのデコードを最適化できます。
- パラメーター:
newBuffer- デコードする新しいデータを含むバッファ- 戻り値:
- デコードされたメッセージまたは空のリスト
- 例外:
StompConversionException- デコードの問題が発生した場合に発生します
getBufferSize
public int getBufferSize()現在のバッファサイズを計算します。getExpectedContentLength
現在バッファリングされている不完全な STOMP フレームの予想コンテンツ長を取得します。