Package org.ldaptive.transport.netty
Class MessageFrameDecoder
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- org.ldaptive.transport.netty.MessageFrameDecoder
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
public class MessageFrameDecoder extends io.netty.handler.codec.ByteToMessageDecoder
Reads the input byte buffer until an entire message is available.
-
-
Constructor Summary
Constructors Constructor Description MessageFrameDecoder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out)
private int
readMessageLength(DERBuffer buffer)
Inspects the supplied buffer for aUniversalDERTag.SEQ
tag and confirms the buffer contains enough bytes for the length specified for the tag.-
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
-
-
-
-
Field Detail
-
logger
protected final Logger logger
Logger for this class.
-
-
Method Detail
-
decode
protected void decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out)
- Specified by:
decode
in classio.netty.handler.codec.ByteToMessageDecoder
-
readMessageLength
private int readMessageLength(DERBuffer buffer)
Inspects the supplied buffer for aUniversalDERTag.SEQ
tag and confirms the buffer contains enough bytes for the length specified for the tag.- Parameters:
buffer
- to read- Returns:
- DER message length
- Throws:
IllegalArgumentException
- if the buffer doesn't contain a SEQ tag
-
-