Class MqttDecoder

  • All Implemented Interfaces:
    ChannelHandler, ChannelInboundHandler

    public final class MqttDecoder
    extends 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.
    • 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.