Package io.netty.handler.codec.smtp
Class SmtpResponseDecoder
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- io.netty.handler.codec.LineBasedFrameDecoder
-
- io.netty.handler.codec.smtp.SmtpResponseDecoder
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler,io.netty.channel.ChannelInboundHandler
@UnstableApi public final class SmtpResponseDecoder extends io.netty.handler.codec.LineBasedFrameDecoderDecoder for SMTP responses.
-
-
Constructor Summary
Constructors Constructor Description SmtpResponseDecoder(int maxLineLength)Creates a new instance that enforces the givenmaxLineLengthand a default limit of 64 KiB on the accumulated size of a multi-line response.SmtpResponseDecoder(int maxLineLength, int maxResponseSize)Creates a new instance that enforces the givenmaxLineLengthandmaxResponseSize.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SmtpResponsedecode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer)-
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
-
-
-
-
Constructor Detail
-
SmtpResponseDecoder
public SmtpResponseDecoder(int maxLineLength)
Creates a new instance that enforces the givenmaxLineLengthand a default limit of 64 KiB on the accumulated size of a multi-line response.- Parameters:
maxLineLength- the maximum length of a single response line, in bytes.
-
SmtpResponseDecoder
public SmtpResponseDecoder(int maxLineLength, int maxResponseSize)Creates a new instance that enforces the givenmaxLineLengthandmaxResponseSize.The lines of a multi-line response are buffered until its terminating line arrives.
maxResponseSizebounds that buffering. Once it is exceeded, decoding fails with aTooLongFrameException. The limit is approximate and tracks retained memory rather than bytes received, as it charges each buffered line a fixed object overhead in addition to its detail bytes, and ignores the response code, the separator and the terminating line.- Parameters:
maxLineLength- the maximum length of a single response line, in bytes.maxResponseSize- the maximum accumulated size of a multi-line response, in bytes.
-
-
Method Detail
-
decode
protected SmtpResponse decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf buffer) throws Exception
- Overrides:
decodein classio.netty.handler.codec.LineBasedFrameDecoder- Throws:
Exception
-
-