public class io.netty.example.portunification.PortUnificationServerHandler extends io.netty.handler.codec.ByteToMessageDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.example.portunification.PortUnificationServerHandler
super_class: io.netty.handler.codec.ByteToMessageDecoder
{
private final io.netty.handler.ssl.SslContext sslCtx;
descriptor: Lio/netty/handler/ssl/SslContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean detectSsl;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean detectGzip;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(io.netty.handler.ssl.SslContext);
descriptor: (Lio/netty/handler/ssl/SslContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
iconst_1
invokespecial io.netty.example.portunification.PortUnificationServerHandler.<init>:(Lio/netty/handler/ssl/SslContext;ZZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/example/portunification/PortUnificationServerHandler;
0 2 1 sslCtx Lio/netty/handler/ssl/SslContext;
MethodParameters:
Name Flags
sslCtx
private void <init>(io.netty.handler.ssl.SslContext, boolean, boolean);
descriptor: (Lio/netty/handler/ssl/SslContext;ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
1: aload 0
aload 1
putfield io.netty.example.portunification.PortUnificationServerHandler.sslCtx:Lio/netty/handler/ssl/SslContext;
2: aload 0
iload 2
putfield io.netty.example.portunification.PortUnificationServerHandler.detectSsl:Z
3: aload 0
iload 3
putfield io.netty.example.portunification.PortUnificationServerHandler.detectGzip:Z
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/example/portunification/PortUnificationServerHandler;
0 5 1 sslCtx Lio/netty/handler/ssl/SslContext;
0 5 2 detectSsl Z
0 5 3 detectGzip Z
MethodParameters:
Name Flags
sslCtx
detectSsl
detectGzip
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=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_5
if_icmpge 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.netty.example.portunification.PortUnificationServerHandler.isSsl:(Lio/netty/buffer/ByteBuf;)Z
ifeq 5
3: aload 0
aload 1
invokevirtual io.netty.example.portunification.PortUnificationServerHandler.enableSsl:(Lio/netty/channel/ChannelHandlerContext;)V
4: goto 18
5: StackMap locals:
StackMap stack:
aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
istore 4
start local 4 6: aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iconst_1
iadd
invokevirtual io.netty.buffer.ByteBuf.getUnsignedByte:(I)S
istore 5
start local 5 7: aload 0
iload 4
iload 5
invokevirtual io.netty.example.portunification.PortUnificationServerHandler.isGzip:(II)Z
ifeq 10
8: aload 0
aload 1
invokevirtual io.netty.example.portunification.PortUnificationServerHandler.enableGzip:(Lio/netty/channel/ChannelHandlerContext;)V
9: goto 18
StackMap locals: int int
StackMap stack:
10: iload 4
iload 5
invokestatic io.netty.example.portunification.PortUnificationServerHandler.isHttp:(II)Z
ifeq 13
11: aload 0
aload 1
invokevirtual io.netty.example.portunification.PortUnificationServerHandler.switchToHttp:(Lio/netty/channel/ChannelHandlerContext;)V
12: goto 18
StackMap locals:
StackMap stack:
13: iload 4
invokestatic io.netty.example.portunification.PortUnificationServerHandler.isFactorial:(I)Z
ifeq 16
14: aload 0
aload 1
invokevirtual io.netty.example.portunification.PortUnificationServerHandler.switchToFactorial:(Lio/netty/channel/ChannelHandlerContext;)V
15: goto 18
16: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.clear:()Lio/netty/buffer/ByteBuf;
pop
17: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
end local 5 end local 4 18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/netty/example/portunification/PortUnificationServerHandler;
0 19 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 19 2 in Lio/netty/buffer/ByteBuf;
0 19 3 out Ljava/util/List<Ljava/lang/Object;>;
6 18 4 magic1 I
7 18 5 magic2 I
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
private boolean isSsl(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.example.portunification.PortUnificationServerHandler.detectSsl:Z
ifeq 2
1: aload 1
invokestatic io.netty.handler.ssl.SslHandler.isEncrypted:(Lio/netty/buffer/ByteBuf;)Z
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/example/portunification/PortUnificationServerHandler;
0 3 1 buf Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
buf
private boolean isGzip(int, int);
descriptor: (II)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.example.portunification.PortUnificationServerHandler.detectGzip:Z
ifeq 3
1: iload 1
bipush 31
if_icmpne 2
iload 2
sipush 139
if_icmpne 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/example/portunification/PortUnificationServerHandler;
0 4 1 magic1 I
0 4 2 magic2 I
MethodParameters:
Name Flags
magic1
magic2
private static boolean isHttp(int, int);
descriptor: (II)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
bipush 71
if_icmpne 1
iload 1
bipush 69
if_icmpeq 10
1: StackMap locals:
StackMap stack:
iload 0
bipush 80
if_icmpne 2
iload 1
bipush 79
if_icmpeq 10
2: StackMap locals:
StackMap stack:
iload 0
bipush 80
if_icmpne 3
iload 1
bipush 85
if_icmpeq 10
3: StackMap locals:
StackMap stack:
iload 0
bipush 72
if_icmpne 4
iload 1
bipush 69
if_icmpeq 10
4: StackMap locals:
StackMap stack:
iload 0
bipush 79
if_icmpne 5
iload 1
bipush 80
if_icmpeq 10
5: StackMap locals:
StackMap stack:
iload 0
bipush 80
if_icmpne 6
iload 1
bipush 65
if_icmpeq 10
6: StackMap locals:
StackMap stack:
iload 0
bipush 68
if_icmpne 7
iload 1
bipush 69
if_icmpeq 10
7: StackMap locals:
StackMap stack:
iload 0
bipush 84
if_icmpne 8
iload 1
bipush 82
if_icmpeq 10
8: StackMap locals:
StackMap stack:
iload 0
bipush 67
if_icmpne 9
iload 1
bipush 79
if_icmpeq 10
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
10: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 magic1 I
0 11 1 magic2 I
MethodParameters:
Name Flags
magic1
magic2
private static boolean isFactorial(int);
descriptor: (I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 70
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 magic1 I
MethodParameters:
Name Flags
magic1
private void enableSsl(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
astore 2
start local 2 1: aload 2
ldc "ssl"
aload 0
getfield io.netty.example.portunification.PortUnificationServerHandler.sslCtx:Lio/netty/handler/ssl/SslContext;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
invokevirtual io.netty.handler.ssl.SslContext.newHandler:(Lio/netty/buffer/ByteBufAllocator;)Lio/netty/handler/ssl/SslHandler;
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
2: aload 2
ldc "unificationA"
new io.netty.example.portunification.PortUnificationServerHandler
dup
aload 0
getfield io.netty.example.portunification.PortUnificationServerHandler.sslCtx:Lio/netty/handler/ssl/SslContext;
iconst_0
aload 0
getfield io.netty.example.portunification.PortUnificationServerHandler.detectGzip:Z
invokespecial io.netty.example.portunification.PortUnificationServerHandler.<init>:(Lio/netty/handler/ssl/SslContext;ZZ)V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
3: aload 2
aload 0
invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/example/portunification/PortUnificationServerHandler;
0 5 1 ctx Lio/netty/channel/ChannelHandlerContext;
1 5 2 p Lio/netty/channel/ChannelPipeline;
MethodParameters:
Name Flags
ctx
private void enableGzip(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
astore 2
start local 2 1: aload 2
ldc "gzipdeflater"
getstatic io.netty.handler.codec.compression.ZlibWrapper.GZIP:Lio/netty/handler/codec/compression/ZlibWrapper;
invokestatic io.netty.handler.codec.compression.ZlibCodecFactory.newZlibEncoder:(Lio/netty/handler/codec/compression/ZlibWrapper;)Lio/netty/handler/codec/compression/ZlibEncoder;
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
2: aload 2
ldc "gzipinflater"
getstatic io.netty.handler.codec.compression.ZlibWrapper.GZIP: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;
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
3: aload 2
ldc "unificationB"
new io.netty.example.portunification.PortUnificationServerHandler
dup
aload 0
getfield io.netty.example.portunification.PortUnificationServerHandler.sslCtx:Lio/netty/handler/ssl/SslContext;
aload 0
getfield io.netty.example.portunification.PortUnificationServerHandler.detectSsl:Z
iconst_0
invokespecial io.netty.example.portunification.PortUnificationServerHandler.<init>:(Lio/netty/handler/ssl/SslContext;ZZ)V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
4: aload 2
aload 0
invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/example/portunification/PortUnificationServerHandler;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
1 6 2 p Lio/netty/channel/ChannelPipeline;
MethodParameters:
Name Flags
ctx
private void switchToHttp(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
astore 2
start local 2 1: aload 2
ldc "decoder"
new io.netty.handler.codec.http.HttpRequestDecoder
dup
invokespecial io.netty.handler.codec.http.HttpRequestDecoder.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
2: aload 2
ldc "encoder"
new io.netty.handler.codec.http.HttpResponseEncoder
dup
invokespecial io.netty.handler.codec.http.HttpResponseEncoder.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
3: aload 2
ldc "deflater"
new io.netty.handler.codec.http.HttpContentCompressor
dup
invokespecial io.netty.handler.codec.http.HttpContentCompressor.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
4: aload 2
ldc "handler"
new io.netty.example.http.snoop.HttpSnoopServerHandler
dup
invokespecial io.netty.example.http.snoop.HttpSnoopServerHandler.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
5: aload 2
aload 0
invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/example/portunification/PortUnificationServerHandler;
0 7 1 ctx Lio/netty/channel/ChannelHandlerContext;
1 7 2 p Lio/netty/channel/ChannelPipeline;
MethodParameters:
Name Flags
ctx
private void switchToFactorial(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.pipeline:()Lio/netty/channel/ChannelPipeline;
astore 2
start local 2 1: aload 2
ldc "decoder"
new io.netty.example.factorial.BigIntegerDecoder
dup
invokespecial io.netty.example.factorial.BigIntegerDecoder.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
2: aload 2
ldc "encoder"
new io.netty.example.factorial.NumberEncoder
dup
invokespecial io.netty.example.factorial.NumberEncoder.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
3: aload 2
ldc "handler"
new io.netty.example.factorial.FactorialServerHandler
dup
invokespecial io.netty.example.factorial.FactorialServerHandler.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
4: aload 2
aload 0
invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/example/portunification/PortUnificationServerHandler;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
1 6 2 p Lio/netty/channel/ChannelPipeline;
MethodParameters:
Name Flags
ctx
}
SourceFile: "PortUnificationServerHandler.java"