Package io.netty.handler.codec.stomp
Class StompSubframeEncoder
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelOutboundHandlerAdapter
-
- io.netty.handler.codec.MessageToMessageEncoder<StompSubframe>
-
- io.netty.handler.codec.stomp.StompSubframeEncoder
-
- All Implemented Interfaces:
ChannelHandler
,ChannelOutboundHandler
public class StompSubframeEncoder extends MessageToMessageEncoder<StompSubframe>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
ChannelHandler.Sharable
-
-
Field Summary
Fields Modifier and Type Field Description private static float
DEFAULT_LOAD_FACTOR
private static FastThreadLocal<java.util.LinkedHashMap<java.lang.CharSequence,java.lang.CharSequence>>
ESCAPE_HEADER_KEY_CACHE
private static int
ESCAPE_HEADER_KEY_CACHE_LIMIT
-
Constructor Summary
Constructors Constructor Description StompSubframeEncoder()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.Object
convertContentSubFrame(StompContentSubframe original, ByteBuf encoded)
An extension method to convert a STOMP encoded buffer to a different message type based on an originalStompHeadersSubframe
content sub frame.protected java.lang.Object
convertFullFrame(StompFrame original, ByteBuf encoded)
An extension method to convert a STOMP encoded buffer to a different message type based on an originalStompFrame
full frame.protected java.lang.Object
convertHeadersSubFrame(StompHeadersSubframe original, ByteBuf encoded)
An extension method to convert a STOMP encoded buffer to a different message type based on an originalStompHeadersSubframe
headers sub frame.protected void
encode(ChannelHandlerContext ctx, StompSubframe msg, java.util.List<java.lang.Object> out)
Encode from one message to an other.private static ByteBuf
encodeContent(StompContentSubframe content, ChannelHandlerContext ctx)
private ByteBuf
encodeFullFrame(StompFrame frame, ChannelHandlerContext ctx)
private static void
encodeHeaders(StompHeadersSubframe frame, ByteBuf buf)
private static java.lang.CharSequence
escape(java.lang.CharSequence input)
private static AppendableCharSequence
escapeBuilder(AppendableCharSequence builder, java.lang.CharSequence input, int offset)
protected int
headersSubFrameSize(StompHeadersSubframe headersSubframe)
Returns a heuristic size for headers (32 bytes per header line) + (2 bytes for colon and eol) + (additional command buffer).private static boolean
shouldEscape(StompCommand command)
-
Methods inherited from class io.netty.handler.codec.MessageToMessageEncoder
acceptOutboundMessage, write
-
Methods inherited from class io.netty.channel.ChannelOutboundHandlerAdapter
bind, close, connect, deregister, disconnect, flush, read
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, exceptionCaught, handlerAdded, handlerRemoved, isSharable
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty.channel.ChannelHandler
exceptionCaught, handlerAdded, handlerRemoved
-
-
-
-
Field Detail
-
ESCAPE_HEADER_KEY_CACHE_LIMIT
private static final int ESCAPE_HEADER_KEY_CACHE_LIMIT
- See Also:
- Constant Field Values
-
DEFAULT_LOAD_FACTOR
private static final float DEFAULT_LOAD_FACTOR
- See Also:
- Constant Field Values
-
ESCAPE_HEADER_KEY_CACHE
private static final FastThreadLocal<java.util.LinkedHashMap<java.lang.CharSequence,java.lang.CharSequence>> ESCAPE_HEADER_KEY_CACHE
-
-
Method Detail
-
encode
protected void encode(ChannelHandlerContext ctx, StompSubframe msg, java.util.List<java.lang.Object> out) throws java.lang.Exception
Description copied from class:MessageToMessageEncoder
Encode from one message to an other. This method will be called for each written message that can be handled by this encoder.- Specified by:
encode
in classMessageToMessageEncoder<StompSubframe>
- Parameters:
ctx
- theChannelHandlerContext
which thisMessageToMessageEncoder
belongs tomsg
- the message to encode to an other oneout
- theList
into which the encoded msg should be added needs to do some kind of aggregation- Throws:
java.lang.Exception
- is thrown if an error occurs
-
convertFullFrame
protected java.lang.Object convertFullFrame(StompFrame original, ByteBuf encoded)
An extension method to convert a STOMP encoded buffer to a different message type based on an originalStompFrame
full frame.By default an encoded buffer is returned as is.
-
convertHeadersSubFrame
protected java.lang.Object convertHeadersSubFrame(StompHeadersSubframe original, ByteBuf encoded)
An extension method to convert a STOMP encoded buffer to a different message type based on an originalStompHeadersSubframe
headers sub frame.By default an encoded buffer is returned as is.
-
convertContentSubFrame
protected java.lang.Object convertContentSubFrame(StompContentSubframe original, ByteBuf encoded)
An extension method to convert a STOMP encoded buffer to a different message type based on an originalStompHeadersSubframe
content sub frame.By default an encoded buffer is returned as is.
-
headersSubFrameSize
protected int headersSubFrameSize(StompHeadersSubframe headersSubframe)
Returns a heuristic size for headers (32 bytes per header line) + (2 bytes for colon and eol) + (additional command buffer).
-
encodeFullFrame
private ByteBuf encodeFullFrame(StompFrame frame, ChannelHandlerContext ctx)
-
encodeHeaders
private static void encodeHeaders(StompHeadersSubframe frame, ByteBuf buf)
-
encodeContent
private static ByteBuf encodeContent(StompContentSubframe content, ChannelHandlerContext ctx)
-
shouldEscape
private static boolean shouldEscape(StompCommand command)
-
escape
private static java.lang.CharSequence escape(java.lang.CharSequence input)
-
escapeBuilder
private static AppendableCharSequence escapeBuilder(AppendableCharSequence builder, java.lang.CharSequence input, int offset)
-
-