abstract class io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder extends io.netty.handler.codec.http.websocketx.extensions.WebSocketExtensionDecoder
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder
super_class: io.netty.handler.codec.http.websocketx.extensions.WebSocketExtensionDecoder
{
static final byte[] FRAME_TAIL;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final boolean noContext;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.channel.embedded.EmbeddedChannel decoder;
descriptor: Lio/netty/channel/embedded/EmbeddedChannel;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_4
newarray 8
dup
iconst_2
iconst_m1
bastore
dup
iconst_3
iconst_m1
bastore
putstatic io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.FRAME_TAIL:[B
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.handler.codec.http.websocketx.extensions.WebSocketExtensionDecoder.<init>:()V
1: aload 0
iload 1
putfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.noContext:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http/websocketx/extensions/compression/DeflateDecoder;
0 3 1 noContext Z
MethodParameters:
Name Flags
noContext
protected abstract boolean appendFrameTail(io.netty.handler.codec.http.websocketx.WebSocketFrame);
descriptor: (Lio/netty/handler/codec/http/websocketx/WebSocketFrame;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
msg
protected abstract int newRsv(io.netty.handler.codec.http.websocketx.WebSocketFrame);
descriptor: (Lio/netty/handler/codec/http/websocketx/WebSocketFrame;)I
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
msg
protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.http.websocketx.WebSocketFrame, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/websocketx/WebSocketFrame;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decoder:Lio/netty/channel/embedded/EmbeddedChannel;
ifnonnull 4
1: aload 2
instanceof io.netty.handler.codec.http.websocketx.TextWebSocketFrame
ifne 3
aload 2
instanceof io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame
ifne 3
2: new io.netty.handler.codec.CodecException
dup
new java.lang.StringBuilder
dup
ldc "unexpected initial frame type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.netty.handler.codec.CodecException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
new io.netty.channel.embedded.EmbeddedChannel
dup
iconst_1
anewarray io.netty.channel.ChannelHandler
dup
iconst_0
getstatic io.netty.handler.codec.compression.ZlibWrapper.NONE:Lio/netty/handler/codec/compression/ZlibWrapper;
invokestatic io.netty.handler.codec.compression.ZlibCodecFactory.newZlibDecoder:(Lio/netty/handler/codec/compression/ZlibWrapper;)Lio/netty/handler/codec/compression/ZlibDecoder;
aastore
invokespecial io.netty.channel.embedded.EmbeddedChannel.<init>:([Lio/netty/channel/ChannelHandler;)V
putfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decoder:Lio/netty/channel/embedded/EmbeddedChannel;
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
istore 4
start local 4 5: aload 0
getfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decoder:Lio/netty/channel/embedded/EmbeddedChannel;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.content:()Lio/netty/buffer/ByteBuf;
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
aastore
invokevirtual io.netty.channel.embedded.EmbeddedChannel.writeInbound:([Ljava/lang/Object;)Z
pop
6: aload 0
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.appendFrameTail:(Lio/netty/handler/codec/http/websocketx/WebSocketFrame;)Z
ifeq 8
7: aload 0
getfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decoder:Lio/netty/channel/embedded/EmbeddedChannel;
iconst_1
anewarray java.lang.Object
dup
iconst_0
getstatic io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.FRAME_TAIL:[B
invokestatic io.netty.buffer.Unpooled.wrappedBuffer:([B)Lio/netty/buffer/ByteBuf;
aastore
invokevirtual io.netty.channel.embedded.EmbeddedChannel.writeInbound:([Ljava/lang/Object;)Z
pop
8: StackMap locals: int
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
invokeinterface io.netty.buffer.ByteBufAllocator.compositeBuffer:()Lio/netty/buffer/CompositeByteBuf;
astore 5
start local 5 9: StackMap locals: io.netty.buffer.CompositeByteBuf
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decoder:Lio/netty/channel/embedded/EmbeddedChannel;
invokevirtual io.netty.channel.embedded.EmbeddedChannel.readInbound:()Ljava/lang/Object;
checkcast io.netty.buffer.ByteBuf
astore 6
start local 6 10: aload 6
ifnonnull 12
11: goto 17
12: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 6
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 15
13: aload 6
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
14: goto 9
15: StackMap locals:
StackMap stack:
aload 5
iconst_1
aload 6
invokevirtual io.netty.buffer.CompositeByteBuf.addComponent:(ZLio/netty/buffer/ByteBuf;)Lio/netty/buffer/CompositeByteBuf;
pop
end local 6 16: goto 9
17: StackMap locals:
StackMap stack:
iload 4
ifeq 20
aload 5
invokevirtual io.netty.buffer.CompositeByteBuf.numComponents:()I
ifgt 20
18: aload 5
invokevirtual io.netty.buffer.CompositeByteBuf.release:()Z
pop
19: new io.netty.handler.codec.CodecException
dup
ldc "cannot read uncompressed buffer"
invokespecial io.netty.handler.codec.CodecException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.isFinalFragment:()Z
ifeq 22
aload 0
getfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.noContext:Z
ifeq 22
21: aload 0
invokevirtual io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.cleanup:()V
22: StackMap locals:
StackMap stack:
aload 2
instanceof io.netty.handler.codec.http.websocketx.TextWebSocketFrame
ifeq 25
23: new io.netty.handler.codec.http.websocketx.TextWebSocketFrame
dup
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.isFinalFragment:()Z
aload 0
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.newRsv:(Lio/netty/handler/codec/http/websocketx/WebSocketFrame;)I
aload 5
invokespecial io.netty.handler.codec.http.websocketx.TextWebSocketFrame.<init>:(ZILio/netty/buffer/ByteBuf;)V
astore 6
start local 6 24: goto 34
end local 6 StackMap locals:
StackMap stack:
25: aload 2
instanceof io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame
ifeq 28
26: new io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame
dup
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.isFinalFragment:()Z
aload 0
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.newRsv:(Lio/netty/handler/codec/http/websocketx/WebSocketFrame;)I
aload 5
invokespecial io.netty.handler.codec.http.websocketx.BinaryWebSocketFrame.<init>:(ZILio/netty/buffer/ByteBuf;)V
astore 6
start local 6 27: goto 34
end local 6 StackMap locals:
StackMap stack:
28: aload 2
instanceof io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame
ifeq 33
29: new io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame
dup
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.WebSocketFrame.isFinalFragment:()Z
aload 0
aload 2
invokevirtual io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.newRsv:(Lio/netty/handler/codec/http/websocketx/WebSocketFrame;)I
30: aload 5
31: invokespecial io.netty.handler.codec.http.websocketx.ContinuationWebSocketFrame.<init>:(ZILio/netty/buffer/ByteBuf;)V
astore 6
start local 6 32: goto 34
end local 6 33: StackMap locals:
StackMap stack:
new io.netty.handler.codec.CodecException
dup
new java.lang.StringBuilder
dup
ldc "unexpected frame type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.netty.handler.codec.CodecException.<init>:(Ljava/lang/String;)V
athrow
start local 6 34: StackMap locals: io.netty.handler.codec.http.websocketx.WebSocketFrame
StackMap stack:
aload 3
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
35: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lio/netty/handler/codec/http/websocketx/extensions/compression/DeflateDecoder;
0 36 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 36 2 msg Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
0 36 3 out Ljava/util/List<Ljava/lang/Object;>;
5 36 4 readable Z
9 36 5 compositeUncompressedContent Lio/netty/buffer/CompositeByteBuf;
10 16 6 partUncompressedContent Lio/netty/buffer/ByteBuf;
24 25 6 outMsg Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
27 28 6 outMsg Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
32 33 6 outMsg Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
34 36 6 outMsg Lio/netty/handler/codec/http/websocketx/WebSocketFrame;
Exceptions:
throws java.lang.Exception
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/websocketx/WebSocketFrame;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
msg
out
public void handlerRemoved(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.cleanup:()V
1: aload 0
aload 1
invokespecial io.netty.handler.codec.http.websocketx.extensions.WebSocketExtensionDecoder.handlerRemoved:(Lio/netty/channel/ChannelHandlerContext;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http/websocketx/extensions/compression/DeflateDecoder;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void channelInactive(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.cleanup:()V
1: aload 0
aload 1
invokespecial io.netty.handler.codec.http.websocketx.extensions.WebSocketExtensionDecoder.channelInactive:(Lio/netty/channel/ChannelHandlerContext;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/codec/http/websocketx/extensions/compression/DeflateDecoder;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
private void cleanup();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decoder:Lio/netty/channel/embedded/EmbeddedChannel;
ifnull 8
1: aload 0
getfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decoder:Lio/netty/channel/embedded/EmbeddedChannel;
invokevirtual io.netty.channel.embedded.EmbeddedChannel.finish:()Z
ifeq 7
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decoder:Lio/netty/channel/embedded/EmbeddedChannel;
invokevirtual io.netty.channel.embedded.EmbeddedChannel.readOutbound:()Ljava/lang/Object;
checkcast io.netty.buffer.ByteBuf
astore 1
start local 1 3: aload 1
ifnonnull 5
4: goto 7
5: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 1
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
end local 1 6: goto 2
7: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decoder:Lio/netty/channel/embedded/EmbeddedChannel;
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/handler/codec/http/websocketx/extensions/compression/DeflateDecoder;
3 6 1 buf Lio/netty/buffer/ByteBuf;
protected void decode(io.netty.channel.ChannelHandlerContext, java.lang.Object, java.util.List);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast io.netty.handler.codec.http.websocketx.WebSocketFrame
aload 3
invokevirtual io.netty.handler.codec.http.websocketx.extensions.compression.DeflateDecoder.decode:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/http/websocketx/WebSocketFrame;Ljava/util/List;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
SourceFile: "DeflateDecoder.java"