Home / Type/ MqttVersion Type — netty Architecture

MqttVersion Type — netty Architecture

Architecture documentation for the MqttVersion type/interface in MqttVersion.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  be14b4b1_c7f6_31e9_a66a_3caf1fd3d4e8["MqttVersion"]
  79360983_8fe5_09cc_5a70_8fa89a106e9d["MqttVersion.java"]
  be14b4b1_c7f6_31e9_a66a_3caf1fd3d4e8 -->|defined in| 79360983_8fe5_09cc_5a70_8fa89a106e9d
  style be14b4b1_c7f6_31e9_a66a_3caf1fd3d4e8 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttVersion.java lines 25–70

public enum MqttVersion {
    MQTT_3_1("MQIsdp", (byte) 3),
    MQTT_3_1_1("MQTT", (byte) 4),
    MQTT_5("MQTT", (byte) 5);

    private final String name;
    private final byte level;

    MqttVersion(String protocolName, byte protocolLevel) {
        name = ObjectUtil.checkNotNull(protocolName, "protocolName");
        level = protocolLevel;
    }

    public String protocolName() {
        return name;
    }

    public byte[] protocolNameBytes() {
        return name.getBytes(CharsetUtil.UTF_8);
    }

    public byte protocolLevel() {
        return level;
    }

    public static MqttVersion fromProtocolNameAndLevel(String protocolName, byte protocolLevel) {
        MqttVersion mv;
        switch (protocolLevel) {
        case 3:
            mv = MQTT_3_1;
            break;
        case 4:
            mv = MQTT_3_1_1;
            break;
        case 5:
            mv = MQTT_5;
            break;
        default:
            throw new MqttUnacceptableProtocolVersionException(protocolName + " is an unknown protocol name");
        }
        if (mv.name.equals(protocolName)) {
            return mv;
        }
        throw new MqttUnacceptableProtocolVersionException(protocolName + " and " + protocolLevel + " don't match");
    }
}

Frequently Asked Questions

What is the MqttVersion type?
MqttVersion is a type/interface in the netty codebase, defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttVersion.java.
Where is MqttVersion defined?
MqttVersion is defined in codec-mqtt/src/main/java/io/netty/handler/codec/mqtt/MqttVersion.java at line 25.

Analyze Your Own Codebase

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

Try Supermodel Free