- java.lang.Object
-
- io.netty5.channel.ChannelHandlerAdapter
-
- io.netty5.handler.codec.ByteToMessageDecoder
-
- io.netty5.handler.codec.FixedLengthFrameDecoder
-
- All Implemented Interfaces:
ChannelHandler
public class FixedLengthFrameDecoder extends ByteToMessageDecoder
A decoder that splits the receivedBuffers by the fixed number of bytes. For example, if you received the following four fragmented packets:+---+----+------+----+ | A | BC | DEFG | HI | +---+----+------+----+
AFixedLengthFrameDecoder(3)will decode them into the following three packets with the fixed length:+-----+-----+-----+ | ABC | DEF | GHI | +-----+-----+-----+
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.netty5.handler.codec.ByteToMessageDecoder
ByteToMessageDecoder.Cumulator
-
-
Field Summary
-
Fields inherited from class io.netty5.handler.codec.ByteToMessageDecoder
COMPOSITE_CUMULATOR, MERGE_CUMULATOR
-
-
Constructor Summary
Constructors Constructor Description FixedLengthFrameDecoder(int frameLength)Creates a new instance.FixedLengthFrameDecoder(int frameLength, ByteToMessageDecoder.Cumulator cumulator)Creates a new instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddecode(ChannelHandlerContext ctx, Buffer in)Decode the from oneBufferto another.protected Objectdecode0(ChannelHandlerContext ctx, Buffer in)Create a frame out of theBufferand return it.-
Methods inherited from class io.netty5.handler.codec.ByteToMessageDecoder
actualReadableBytes, channelInactive, channelRead, channelReadComplete, channelShutdown, decodeLast, discardSomeReadBytes, handlerAdded, handlerAdded0, handlerRemoved, handlerRemoved0, internalBuffer, isSharable, isSingleDecode, setSingleDecode
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty5.channel.ChannelHandler
bind, channelActive, channelExceptionCaught, channelInboundEvent, channelRegistered, channelUnregistered, channelWritabilityChanged, close, connect, deregister, disconnect, flush, pendingOutboundBytes, read, register, sendOutboundEvent, shutdown, write
-
-
-
-
Constructor Detail
-
FixedLengthFrameDecoder
public FixedLengthFrameDecoder(int frameLength)
Creates a new instance.- Parameters:
frameLength- the length of the frame
-
FixedLengthFrameDecoder
public FixedLengthFrameDecoder(int frameLength, ByteToMessageDecoder.Cumulator cumulator)Creates a new instance.- Parameters:
frameLength- the length of the frame
-
-
Method Detail
-
decode
protected final void decode(ChannelHandlerContext ctx, Buffer in) throws Exception
Description copied from class:ByteToMessageDecoderDecode the from oneBufferto another. This method will be called till either the inputBufferhas nothing to read when return from this method or till nothing was read from the inputBuffer.- Specified by:
decodein classByteToMessageDecoder- Parameters:
ctx- theChannelHandlerContextwhich thisByteToMessageDecoderbelongs toin- theBufferfrom which to read data- Throws:
Exception- is thrown if an error occurs
-
decode0
protected Object decode0(ChannelHandlerContext ctx, Buffer in) throws Exception
Create a frame out of theBufferand return it.- Parameters:
ctx- theChannelHandlerContextwhich thisByteToMessageDecoderbelongs toin- theBufferfrom which to read data- Returns:
- frame the
Bufferwhich represent the frame ornullif no frame could be created. - Throws:
Exception
-
-