Class MqttDecoder

  • All Implemented Interfaces:
    io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler

    public final class MqttDecoder
    extends io.netty.handler.codec.ReplayingDecoder<io.netty.handler.codec.mqtt.MqttDecoder.DecoderState>
    Decodes Mqtt messages from bytes, following the MQTT protocol specification v3.1 or v5.0, depending on the version specified in the CONNECT message that first goes through the channel.
    • 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 io.netty.handler.codec.ByteToMessageDecoder

        COMPOSITE_CUMULATOR, MERGE_CUMULATOR
    • Constructor Summary

      Constructors 
      Constructor Description
      MqttDecoder()  
      MqttDecoder​(int maxBytesInMessage)  
      MqttDecoder​(int maxBytesInMessage, int maxClientIdLength)  
      MqttDecoder​(int maxBytesInMessage, int maxClientIdLength, boolean strictUtf8Validation)
      Creates a new MqttDecoder.
    • 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 buffer, List<Object> out)  
      • Methods inherited from class io.netty.handler.codec.ReplayingDecoder

        callDecode, checkpoint, checkpoint, state, state
      • Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder

        actualReadableBytes, 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 interface io.netty.channel.ChannelHandler

        handlerAdded
    • Constructor Detail

      • MqttDecoder

        public MqttDecoder()
      • MqttDecoder

        public MqttDecoder​(int maxBytesInMessage)
      • MqttDecoder

        public MqttDecoder​(int maxBytesInMessage,
                           int maxClientIdLength)
      • MqttDecoder

        public MqttDecoder​(int maxBytesInMessage,
                           int maxClientIdLength,
                           boolean strictUtf8Validation)
        Creates a new MqttDecoder.
        Parameters:
        maxBytesInMessage - the maximum number of bytes a decoded message may consume.
        maxClientIdLength - the maximum length of the Client Identifier (CONNECT payload).
        strictUtf8Validation - if true (default), every UTF-8 Encoded String is validated according to MQTT 3.1.1 and MQTT 5.0 malformed UTF-8 sequences (including surrogates and overlong forms) and an embedded U+0000 are rejected as a Malformed Packet. If false, the legacy behaviour is preserved, malformed bytes are silently replaced with U+FFFD and U+0000 is accepted.
    • Method Detail

      • decode

        protected void decode​(io.netty.channel.ChannelHandlerContext ctx,
                              io.netty.buffer.ByteBuf buffer,
                              List<Object> out)
                       throws Exception
        Specified by:
        decode in class io.netty.handler.codec.ByteToMessageDecoder
        Throws:
        Exception