Package org.mockserver.netty.proxy
Class LengthPrefixMessageFramer
java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
io.netty.handler.codec.ByteToMessageDecoder
org.mockserver.netty.proxy.BinaryMessageFramer
org.mockserver.netty.proxy.LengthPrefixMessageFramer
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
Cuts a binary connection into messages that each carry their own length:
offset bytes, then an unsigned
length field of prefixBytes (1, 2, 4 or 8) in the byte order given, then the body. The length counts the
whole message when lengthIncludesPrefix, or only the body after the field otherwise. The bytes before the
field are part of the message.-
Nested Class Summary
Nested classes/interfaces inherited from class io.netty.handler.codec.ByteToMessageDecoder
io.netty.handler.codec.ByteToMessageDecoder.CumulatorNested classes/interfaces inherited from interface io.netty.channel.ChannelHandler
io.netty.channel.ChannelHandler.Sharable -
Field Summary
Fields inherited from class org.mockserver.netty.proxy.BinaryMessageFramer
NOT_YET_KNOWNFields inherited from class io.netty.handler.codec.ByteToMessageDecoder
COMPOSITE_CUMULATOR, MERGE_CUMULATOR -
Constructor Summary
ConstructorsConstructorDescriptionLengthPrefixMessageFramer(int maxMessageBytes, org.mockserver.logging.MockServerLogger mockServerLogger, int offset, int prefixBytes, ByteOrder byteOrder, boolean lengthIncludesPrefix) -
Method Summary
Modifier and TypeMethodDescriptionprotected longmessageBytes(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in) How many bytes the message that starts at the reader index has,BinaryMessageFramer.NOT_YET_KNOWNwhile the bytes held cannot say, or anything afterBinaryMessageFramer.refuse(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.lang.String).Methods inherited from class org.mockserver.netty.proxy.BinaryMessageFramer
atMessageBoundary, bytesBeforeTlsMayStart, decode, forConfiguration, maxMessageBytes, messageTaken, protocolAllowsTlsHere, refuse, tlsMayStartHereMethods inherited from class io.netty.handler.codec.ByteToMessageDecoder
actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggeredMethods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaughtMethods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, isSharableMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.netty.channel.ChannelHandler
handlerAdded
-
Constructor Details
-
LengthPrefixMessageFramer
public LengthPrefixMessageFramer(int maxMessageBytes, org.mockserver.logging.MockServerLogger mockServerLogger, int offset, int prefixBytes, ByteOrder byteOrder, boolean lengthIncludesPrefix)
-
-
Method Details
-
messageBytes
protected long messageBytes(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in) Description copied from class:BinaryMessageFramerHow many bytes the message that starts at the reader index has,BinaryMessageFramer.NOT_YET_KNOWNwhile the bytes held cannot say, or anything afterBinaryMessageFramer.refuse(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.lang.String). Must not move the reader index.- Specified by:
messageBytesin classBinaryMessageFramer
-