public class StompDecoder extends ObjectSE
ByteBuffer
SE に含まれる 1 つ以上の STOMP フレームをデコードします。バッファーからすべての完全な STOMP フレームを読み取る試みが行われ、0、1、またはそれ以上になる可能性があります。残りのコンテンツ、つまり不完全な STOMP フレームがある場合、最後に部分的なコンテンツの先頭を指すようにバッファがリセットされます。呼び出し側は、利用可能な入力がなくなるまでバッファリングして、不完全なコンテンツを処理する必要があります。
コンストラクターと説明 |
---|
StompDecoder() |
修飾子と型 | メソッドと説明 |
---|---|
ListSE<Message<byte[]>> | decode(ByteBufferSE byteBuffer) 指定された ByteBuffer から 1 つ以上の STOMP フレームを Messages のリストにデコードします。 |
ListSE<Message<byte[]>> | decode(ByteBufferSE byteBuffer, MultiValueMap<StringSE, StringSE> partialMessageHeaders) 指定された buffer から 1 つ以上の STOMP フレームをデコードし、Messages のリストを返します。 |
MessageHeaderInitializer | getHeaderInitializer() 設定された MessageHeaderInitializer を返します(ある場合)。 |
void | setHeaderInitializer(MessageHeaderInitializer headerInitializer) デコードされた STOMP フレームから Messages のヘッダーに適用する MessageHeaderInitializer を構成します。 |
protected void | skipLeadingEol(ByteBufferSE byteBuffer) 指定された ByteBuffer の先頭で 1 つ以上の EOL 文字をスキップします。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setHeaderInitializer(@Nullable MessageHeaderInitializer headerInitializer)
Messages
のヘッダーに適用する MessageHeaderInitializer
を構成します。@Nullable public MessageHeaderInitializer getHeaderInitializer()
MessageHeaderInitializer
を返します(ある場合)。public ListSE<Message<byte[]>> decode(ByteBufferSE byteBuffer)
ByteBuffer
から 1 つ以上の STOMP フレームを Messages
のリストにデコードします。入力バッファーに部分的な STOMP フレームコンテンツ、または部分的な STOMP フレームを含む追加コンテンツが含まれている場合、バッファーはリセットされ、null
が返されます。byteBuffer
- STOMP フレームをデコードするバッファ StompConversionException
- デコードの問題が発生した場合に発生します public ListSE<Message<byte[]>> decode(ByteBufferSE byteBuffer, @Nullable MultiValueMap<StringSE,StringSE> partialMessageHeaders)
buffer
から 1 つ以上の STOMP フレームをデコードし、Messages
のリストを返します。指定された ByteBuffer に部分的な STOMP フレームコンテンツのみが含まれ、完全な STOMP フレームが含まれていない場合、空のリストが返され、バッファは元の場所にリセットされます。
バッファーに 1 つ以上の STOMP フレームが含まれている場合は、それらが返され、バッファーは未使用の部分コンテンツの先頭を指すようにリセットされます。
出力 partialMessageHeaders マップは、部分的なコンテンツの場合に正常に解析されたヘッダーを格納するために使用されます。呼び出し元は、"content-length" ヘッダーが読み取られたかどうかを確認できます。これは、次にデコードを試みる前に、さらに多くのコンテンツが必要かどうかを判断できます。
byteBuffer
- STOMP フレームをデコードするバッファ partialMessageHeaders
- 部分的なバッファが部分的な STOMP フレームで終了した場合の部分的なメッセージコンテンツの場合に、最後に正常に解析された partialMessageHeaders を格納する空の出力マップ StompConversionException
- デコードの問題が発生した場合に発生します protected void skipLeadingEol(ByteBufferSE byteBuffer)