final class io.netty.handler.codec.mqtt.MqttCodecUtil
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.handler.codec.mqtt.MqttCodecUtil
super_class: java.lang.Object
{
private static final char[] TOPIC_WILDCARDS;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MIN_CLIENT_ID_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int MAX_CLIENT_ID_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 23
private static volatile int[] $SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_2
newarray 5
dup
iconst_0
bipush 35
castore
dup
iconst_1
bipush 43
castore
putstatic io.netty.handler.codec.mqtt.MqttCodecUtil.TOPIC_WILDCARDS:[C
1: return
LocalVariableTable:
Start End Slot Name Signature
static boolean isValidPublishTopicName(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: getstatic io.netty.handler.codec.mqtt.MqttCodecUtil.TOPIC_WILDCARDS:[C
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: java.lang.String top int int char[]
StackMap stack:
1: aload 4
iload 2
caload
istore 1
start local 1 2: aload 0
iload 1
invokevirtual java.lang.String.indexOf:(I)I
iflt 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 topicName Ljava/lang/String;
2 4 1 c C
MethodParameters:
Name Flags
topicName
static boolean isValidMessageId(int);
descriptor: (I)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 messageId I
MethodParameters:
Name Flags
messageId
static boolean isValidClientId(io.netty.handler.codec.mqtt.MqttVersion, java.lang.String);
descriptor: (Lio/netty/handler/codec/mqtt/MqttVersion;Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic io.netty.handler.codec.mqtt.MqttVersion.MQTT_3_1:Lio/netty/handler/codec/mqtt/MqttVersion;
if_acmpne 5
1: aload 1
ifnull 4
aload 1
invokevirtual java.lang.String.length:()I
iconst_1
if_icmplt 4
2: aload 1
invokevirtual java.lang.String.length:()I
bipush 23
3: if_icmpgt 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getstatic io.netty.handler.codec.mqtt.MqttVersion.MQTT_3_1_1:Lio/netty/handler/codec/mqtt/MqttVersion;
if_acmpne 8
6: aload 1
ifnull 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
8: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is unknown mqtt version"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 mqttVersion Lio/netty/handler/codec/mqtt/MqttVersion;
0 9 1 clientId Ljava/lang/String;
MethodParameters:
Name Flags
mqttVersion
clientId
static io.netty.handler.codec.mqtt.MqttFixedHeader validateFixedHeader(io.netty.handler.codec.mqtt.MqttFixedHeader);
descriptor: (Lio/netty/handler/codec/mqtt/MqttFixedHeader;)Lio/netty/handler/codec/mqtt/MqttFixedHeader;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: invokestatic io.netty.handler.codec.mqtt.MqttCodecUtil.$SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType:()[I
aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.messageType:()Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
iaload
tableswitch { // 6 - 10
6: 1
7: 3
8: 1
9: 3
10: 1
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.qosLevel:()Lio/netty/handler/codec/mqtt/MqttQoS;
getstatic io.netty.handler.codec.mqtt.MqttQoS.AT_LEAST_ONCE:Lio/netty/handler/codec/mqtt/MqttQoS;
if_acmpeq 3
2: new io.netty.handler.codec.DecoderException
dup
new java.lang.StringBuilder
dup
aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.messageType:()Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.name:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " message must have QoS 1"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.netty.handler.codec.DecoderException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 mqttFixedHeader Lio/netty/handler/codec/mqtt/MqttFixedHeader;
MethodParameters:
Name Flags
mqttFixedHeader
static io.netty.handler.codec.mqtt.MqttFixedHeader resetUnusedFields(io.netty.handler.codec.mqtt.MqttFixedHeader);
descriptor: (Lio/netty/handler/codec/mqtt/MqttFixedHeader;)Lio/netty/handler/codec/mqtt/MqttFixedHeader;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: invokestatic io.netty.handler.codec.mqtt.MqttCodecUtil.$SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType:()[I
aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.messageType:()Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
iaload
tableswitch { // 1 - 14
1: 1
2: 1
3: 21
4: 1
5: 1
6: 12
7: 1
8: 12
9: 1
10: 12
11: 1
12: 1
13: 1
14: 1
default: 21
}
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.isDup:()Z
ifne 4
2: aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.qosLevel:()Lio/netty/handler/codec/mqtt/MqttQoS;
getstatic io.netty.handler.codec.mqtt.MqttQoS.AT_MOST_ONCE:Lio/netty/handler/codec/mqtt/MqttQoS;
if_acmpne 4
3: aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.isRetain:()Z
ifeq 11
4: StackMap locals:
StackMap stack:
new io.netty.handler.codec.mqtt.MqttFixedHeader
dup
5: aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.messageType:()Lio/netty/handler/codec/mqtt/MqttMessageType;
6: iconst_0
7: getstatic io.netty.handler.codec.mqtt.MqttQoS.AT_MOST_ONCE:Lio/netty/handler/codec/mqtt/MqttQoS;
8: iconst_0
9: aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.remainingLength:()I
10: invokespecial io.netty.handler.codec.mqtt.MqttFixedHeader.<init>:(Lio/netty/handler/codec/mqtt/MqttMessageType;ZLio/netty/handler/codec/mqtt/MqttQoS;ZI)V
areturn
11: StackMap locals:
StackMap stack:
aload 0
areturn
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.isRetain:()Z
ifeq 20
13: new io.netty.handler.codec.mqtt.MqttFixedHeader
dup
14: aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.messageType:()Lio/netty/handler/codec/mqtt/MqttMessageType;
15: aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.isDup:()Z
16: aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.qosLevel:()Lio/netty/handler/codec/mqtt/MqttQoS;
17: iconst_0
18: aload 0
invokevirtual io.netty.handler.codec.mqtt.MqttFixedHeader.remainingLength:()I
19: invokespecial io.netty.handler.codec.mqtt.MqttFixedHeader.<init>:(Lio/netty/handler/codec/mqtt/MqttMessageType;ZLio/netty/handler/codec/mqtt/MqttQoS;ZI)V
areturn
20: StackMap locals:
StackMap stack:
aload 0
areturn
21: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 mqttFixedHeader Lio/netty/handler/codec/mqtt/MqttFixedHeader;
MethodParameters:
Name Flags
mqttFixedHeader
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/mqtt/MqttCodecUtil;
static int[] $SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.codec.mqtt.MqttCodecUtil.$SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic io.netty.handler.codec.mqtt.MqttMessageType.values:()[Lio/netty/handler/codec/mqtt/MqttMessageType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.CONNACK:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.CONNECT:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.DISCONNECT:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
bipush 14
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.PINGREQ:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
bipush 12
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.PINGRESP:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
bipush 13
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBACK:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
iconst_4
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBCOMP:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
bipush 7
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBLISH:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
iconst_3
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBREC:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
iconst_5
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.PUBREL:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
bipush 6
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.SUBACK:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
bipush 9
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.SUBSCRIBE:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
bipush 8
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.UNSUBACK:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
bipush 11
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic io.netty.handler.codec.mqtt.MqttMessageType.UNSUBSCRIBE:Lio/netty/handler/codec/mqtt/MqttMessageType;
invokevirtual io.netty.handler.codec.mqtt.MqttMessageType.ordinal:()I
bipush 10
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
dup
putstatic io.netty.handler.codec.mqtt.MqttCodecUtil.$SWITCH_TABLE$io$netty$handler$codec$mqtt$MqttMessageType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
}
SourceFile: "MqttCodecUtil.java"