public class io.netty.handler.codec.compression.JZlibDecoder extends io.netty.handler.codec.compression.ZlibDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.codec.compression.JZlibDecoder
super_class: io.netty.handler.codec.compression.ZlibDecoder
{
private final com.jcraft.jzlib.Inflater z;
descriptor: Lcom/jcraft/jzlib/Inflater;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private byte[] dictionary;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private volatile boolean finished;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic io.netty.handler.codec.compression.ZlibWrapper.ZLIB:Lio/netty/handler/codec/compression/ZlibWrapper;
invokespecial io.netty.handler.codec.compression.JZlibDecoder.<init>:(Lio/netty/handler/codec/compression/ZlibWrapper;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/codec/compression/JZlibDecoder;
public void <init>(io.netty.handler.codec.compression.ZlibWrapper);
descriptor: (Lio/netty/handler/codec/compression/ZlibWrapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.handler.codec.compression.ZlibDecoder.<init>:()V
1: aload 0
new com.jcraft.jzlib.Inflater
dup
invokespecial com.jcraft.jzlib.Inflater.<init>:()V
putfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
2: aload 1
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "wrapper"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: io.netty.handler.codec.compression.JZlibDecoder io.netty.handler.codec.compression.ZlibWrapper
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aload 1
invokestatic io.netty.handler.codec.compression.ZlibUtil.convertWrapperType:(Lio/netty/handler/codec/compression/ZlibWrapper;)Lcom/jcraft/jzlib/JZlib$WrapperType;
invokevirtual com.jcraft.jzlib.Inflater.init:(Lcom/jcraft/jzlib/JZlib$WrapperType;)I
istore 2
start local 2 5: iload 2
ifeq 7
6: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
ldc "initialization failure"
iload 2
invokestatic io.netty.handler.codec.compression.ZlibUtil.fail:(Lcom/jcraft/jzlib/Inflater;Ljava/lang/String;I)V
7: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/codec/compression/JZlibDecoder;
0 8 1 wrapper Lio/netty/handler/codec/compression/ZlibWrapper;
5 8 2 resultCode I
MethodParameters:
Name Flags
wrapper
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.handler.codec.compression.ZlibDecoder.<init>:()V
1: aload 0
new com.jcraft.jzlib.Inflater
dup
invokespecial com.jcraft.jzlib.Inflater.<init>:()V
putfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
2: aload 1
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "dictionary"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: io.netty.handler.codec.compression.JZlibDecoder byte[]
StackMap stack:
aload 0
aload 1
putfield io.netty.handler.codec.compression.JZlibDecoder.dictionary:[B
5: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
getstatic com.jcraft.jzlib.JZlib.W_ZLIB:Lcom/jcraft/jzlib/JZlib$WrapperType;
invokevirtual com.jcraft.jzlib.Inflater.inflateInit:(Lcom/jcraft/jzlib/JZlib$WrapperType;)I
istore 2
start local 2 6: iload 2
ifeq 8
7: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
ldc "initialization failure"
iload 2
invokestatic io.netty.handler.codec.compression.ZlibUtil.fail:(Lcom/jcraft/jzlib/Inflater;Ljava/lang/String;I)V
8: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/handler/codec/compression/JZlibDecoder;
0 9 1 dictionary [B
6 9 2 resultCode I
MethodParameters:
Name Flags
dictionary
public boolean isClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.finished:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/codec/compression/JZlibDecoder;
protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.finished:Z
ifeq 3
1: aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
2: return
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 4
start local 4 4: iload 4
ifne 6
5: return
6: StackMap locals: int
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
iload 4
putfield com.jcraft.jzlib.Inflater.avail_in:I
7: aload 2
invokevirtual io.netty.buffer.ByteBuf.hasArray:()Z
ifeq 11
8: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aload 2
invokevirtual io.netty.buffer.ByteBuf.array:()[B
putfield com.jcraft.jzlib.Inflater.next_in:[B
9: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aload 2
invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iadd
putfield com.jcraft.jzlib.Inflater.next_in_index:I
10: goto 15
11: StackMap locals:
StackMap stack:
iload 4
newarray 8
astore 5
start local 5 12: aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
aload 5
invokevirtual io.netty.buffer.ByteBuf.getBytes:(I[B)Lio/netty/buffer/ByteBuf;
pop
13: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aload 5
putfield com.jcraft.jzlib.Inflater.next_in:[B
14: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
iconst_0
putfield com.jcraft.jzlib.Inflater.next_in_index:I
end local 5 15: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
getfield com.jcraft.jzlib.Inflater.next_in_index:I
istore 5
start local 5 16: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
iload 4
iconst_1
ishl
invokeinterface io.netty.buffer.ByteBufAllocator.heapBuffer:(I)Lio/netty/buffer/ByteBuf;
astore 6
start local 6 17: StackMap locals: int io.netty.buffer.ByteBuf
StackMap stack:
aload 6
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
getfield com.jcraft.jzlib.Inflater.avail_in:I
iconst_1
ishl
invokevirtual io.netty.buffer.ByteBuf.ensureWritable:(I)Lio/netty/buffer/ByteBuf;
pop
18: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aload 6
invokevirtual io.netty.buffer.ByteBuf.writableBytes:()I
putfield com.jcraft.jzlib.Inflater.avail_out:I
19: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aload 6
invokevirtual io.netty.buffer.ByteBuf.array:()[B
putfield com.jcraft.jzlib.Inflater.next_out:[B
20: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aload 6
invokevirtual io.netty.buffer.ByteBuf.arrayOffset:()I
aload 6
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
iadd
putfield com.jcraft.jzlib.Inflater.next_out_index:I
21: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
getfield com.jcraft.jzlib.Inflater.next_out_index:I
istore 7
start local 7 22: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
iconst_2
invokevirtual com.jcraft.jzlib.Inflater.inflate:(I)I
istore 8
start local 8 23: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
getfield com.jcraft.jzlib.Inflater.next_out_index:I
iload 7
isub
istore 9
start local 9 24: iload 9
ifle 26
25: aload 6
aload 6
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
iload 9
iadd
invokevirtual io.netty.buffer.ByteBuf.writerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
26: StackMap locals: int int int
StackMap stack:
iload 8
tableswitch { // -5 - 2
-5: 38
-4: 40
-3: 40
-2: 40
-1: 40
0: 37
1: 34
2: 27
default: 40
}
27: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.dictionary:[B
ifnonnull 30
28: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
ldc "decompression failure"
iload 8
invokestatic io.netty.handler.codec.compression.ZlibUtil.fail:(Lcom/jcraft/jzlib/Inflater;Ljava/lang/String;I)V
29: goto 17
30: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.dictionary:[B
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.dictionary:[B
arraylength
invokevirtual com.jcraft.jzlib.Inflater.inflateSetDictionary:([BI)I
istore 8
31: iload 8
ifeq 17
32: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
ldc "failed to set the dictionary"
iload 8
invokestatic io.netty.handler.codec.compression.ZlibUtil.fail:(Lcom/jcraft/jzlib/Inflater;Ljava/lang/String;I)V
33: goto 17
34: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.netty.handler.codec.compression.JZlibDecoder.finished:Z
35: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
invokevirtual com.jcraft.jzlib.Inflater.inflateEnd:()I
pop
36: goto 49
37: StackMap locals:
StackMap stack:
goto 17
38: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
getfield com.jcraft.jzlib.Inflater.avail_in:I
ifgt 17
39: goto 49
40: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
ldc "decompression failure"
iload 8
invokestatic io.netty.handler.codec.compression.ZlibUtil.fail:(Lcom/jcraft/jzlib/Inflater;Ljava/lang/String;I)V
end local 9 end local 8 end local 7 41: goto 17
42: StackMap locals: io.netty.handler.codec.compression.JZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int int io.netty.buffer.ByteBuf
StackMap stack: java.lang.Throwable
astore 10
43: aload 2
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
getfield com.jcraft.jzlib.Inflater.next_in_index:I
iload 5
isub
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
44: aload 6
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 47
45: aload 3
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
46: goto 48
47: StackMap locals: io.netty.handler.codec.compression.JZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int int io.netty.buffer.ByteBuf top top top java.lang.Throwable
StackMap stack:
aload 6
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
48: StackMap locals:
StackMap stack:
aload 10
athrow
49: StackMap locals: io.netty.handler.codec.compression.JZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int int io.netty.buffer.ByteBuf
StackMap stack:
aload 2
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
getfield com.jcraft.jzlib.Inflater.next_in_index:I
iload 5
isub
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
50: aload 6
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 53
51: aload 3
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
52: goto 59
53: StackMap locals:
StackMap stack:
aload 6
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
end local 6 end local 5 54: goto 59
StackMap locals: io.netty.handler.codec.compression.JZlibDecoder io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf java.util.List int
StackMap stack: java.lang.Throwable
55: astore 11
56: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aconst_null
putfield com.jcraft.jzlib.Inflater.next_in:[B
57: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aconst_null
putfield com.jcraft.jzlib.Inflater.next_out:[B
58: aload 11
athrow
59: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aconst_null
putfield com.jcraft.jzlib.Inflater.next_in:[B
60: aload 0
getfield io.netty.handler.codec.compression.JZlibDecoder.z:Lcom/jcraft/jzlib/Inflater;
aconst_null
putfield com.jcraft.jzlib.Inflater.next_out:[B
61: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lio/netty/handler/codec/compression/JZlibDecoder;
0 62 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 62 2 in Lio/netty/buffer/ByteBuf;
0 62 3 out Ljava/util/List<Ljava/lang/Object;>;
4 62 4 inputLength I
12 15 5 array [B
16 54 5 oldNextInIndex I
17 54 6 decompressed Lio/netty/buffer/ByteBuf;
22 41 7 oldNextOutIndex I
23 41 8 resultCode I
24 41 9 outputLength I
Exception table:
from to target type
17 42 42 any
6 55 55 any
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
in
out
}
SourceFile: "JZlibDecoder.java"
InnerClasses:
public final WrapperType = com.jcraft.jzlib.JZlib$WrapperType of com.jcraft.jzlib.JZlib