Home / Function/ MqttPublishVariableHeader() — netty Function Reference

MqttPublishVariableHeader() — netty Function Reference

Architecture documentation for the MqttPublishVariableHeader() function in MqttDecoder.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  c4f45191_2a53_efcc_39c7_8365c184d7db["MqttPublishVariableHeader()"]
  c4faa729_e212_a3dd_9d90_3e8fd908d755["MqttDecoder"]
  c4f45191_2a53_efcc_39c7_8365c184d7db -->|defined in| c4faa729_e212_a3dd_9d90_3e8fd908d755
  98ef5a77_12ad_c763_de85_bb9068059363["decodeString()"]
  c4f45191_2a53_efcc_39c7_8365c184d7db -->|calls| 98ef5a77_12ad_c763_de85_bb9068059363
  ffabaaa2_4dc4_d6a0_6031_2c831eb098b0["decodeMessageId()"]
  c4f45191_2a53_efcc_39c7_8365c184d7db -->|calls| ffabaaa2_4dc4_d6a0_6031_2c831eb098b0
  8cad50bc_08ed_5075_a0f7_de30f00ba977["decodeProperties()"]
  c4f45191_2a53_efcc_39c7_8365c184d7db -->|calls| 8cad50bc_08ed_5075_a0f7_de30f00ba977
  style c4f45191_2a53_efcc_39c7_8365c184d7db fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttDecoder.java lines 454–482

    private MqttPublishVariableHeader decodePublishVariableHeader(
            ChannelHandlerContext ctx,
            ByteBuf buffer,
            MqttFixedHeader mqttFixedHeader) {
        final MqttVersion mqttVersion = MqttCodecUtil.getMqttVersion(ctx);
        final Result<String> decodedTopic = decodeString(buffer);
        if (!isValidPublishTopicName(decodedTopic.value)) {
            throw new DecoderException("invalid publish topic name: " + decodedTopic.value + " (contains wildcards)");
        }
        int numberOfBytesConsumed = decodedTopic.numberOfBytesConsumed;

        int messageId = -1;
        if (mqttFixedHeader.qosLevel().value() > 0) {
            messageId = decodeMessageId(buffer);
            numberOfBytesConsumed += 2;
        }

        final MqttProperties properties;
        if (mqttVersion == MqttVersion.MQTT_5) {
            final Result<MqttProperties> propertiesResult = decodeProperties(buffer);
            properties = propertiesResult.value;
            numberOfBytesConsumed += propertiesResult.numberOfBytesConsumed;
        } else {
            properties = MqttProperties.NO_PROPERTIES;
        }

        bytesRemainingInVariablePart -= numberOfBytesConsumed;
        return new MqttPublishVariableHeader(decodedTopic.value, messageId, properties);
    }

Domain

Subdomains

Frequently Asked Questions

What does MqttPublishVariableHeader() do?
MqttPublishVariableHeader() is a function in the netty codebase, defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttDecoder.java.
Where is MqttPublishVariableHeader() defined?
MqttPublishVariableHeader() is defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttDecoder.java at line 454.
What does MqttPublishVariableHeader() call?
MqttPublishVariableHeader() calls 3 function(s): decodeMessageId, decodeProperties, decodeString.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free