Home / Function/ parseRemainingLength() — netty Function Reference

parseRemainingLength() — netty Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  0e76d845_8de4_7a4c_bd45_465942f0d8f3["parseRemainingLength()"]
  c4faa729_e212_a3dd_9d90_3e8fd908d755["MqttDecoder"]
  0e76d845_8de4_7a4c_bd45_465942f0d8f3 -->|defined in| c4faa729_e212_a3dd_9d90_3e8fd908d755
  f52b822d_d755_b4dd_2485_216ecd243ffb["MqttFixedHeader()"]
  f52b822d_d755_b4dd_2485_216ecd243ffb -->|calls| 0e76d845_8de4_7a4c_bd45_465942f0d8f3
  style 0e76d845_8de4_7a4c_bd45_465942f0d8f3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttDecoder.java lines 252–269

    private static int parseRemainingLength(ByteBuf buffer, MqttMessageType messageType) {
        int remainingLength = 0;
        int multiplier = 1;

        for (int i = 0; i < 4; i++) {
            short digit = buffer.readUnsignedByte();
            remainingLength += (digit & 127) * multiplier;

            if ((digit & 128) == 0) {
                return remainingLength;
            }

            multiplier *= 128;
        }

        // MQTT protocol limits Remaining Length to 4 bytes
        throw new DecoderException("remaining length exceeds 4 digits (" + messageType + ')');
    }

Domain

Subdomains

Called By

Frequently Asked Questions

What does parseRemainingLength() do?
parseRemainingLength() is a function in the netty codebase, defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttDecoder.java.
Where is parseRemainingLength() defined?
parseRemainingLength() is defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttDecoder.java at line 252.
What calls parseRemainingLength()?
parseRemainingLength() is called by 1 function(s): MqttFixedHeader.

Analyze Your Own Codebase

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

Try Supermodel Free