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

public class LengthPrefixMessageFramer extends BinaryMessageFramer
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.Cumulator

    Nested 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_KNOWN

    Fields inherited from class io.netty.handler.codec.ByteToMessageDecoder

    COMPOSITE_CUMULATOR, MERGE_CUMULATOR
  • Constructor Summary

    Constructors
    Constructor
    Description
    LengthPrefixMessageFramer(int maxMessageBytes, org.mockserver.logging.MockServerLogger mockServerLogger, int offset, int prefixBytes, ByteOrder byteOrder, boolean lengthIncludesPrefix)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected long
    messageBytes(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_KNOWN while the bytes held cannot say, or anything after BinaryMessageFramer.refuse(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.lang.String).

    Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder

    actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, handlerRemoved0, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered

    Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

    channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught

    Methods inherited from class io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerAdded, 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

    handlerAdded