class io.netty.example.socksproxy.SocksServerConnectHandler$4 implements io.netty.channel.ChannelFutureListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.netty.example.socksproxy.SocksServerConnectHandler$4
super_class: java.lang.Object
{
final io.netty.example.socksproxy.SocksServerConnectHandler this$0;
descriptor: Lio/netty/example/socksproxy/SocksServerConnectHandler;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final io.netty.channel.ChannelHandlerContext val$ctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final io.netty.handler.codec.socksx.v5.Socks5CommandRequest val$request;
descriptor: Lio/netty/handler/codec/socksx/v5/Socks5CommandRequest;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(io.netty.example.socksproxy.SocksServerConnectHandler, io.netty.channel.ChannelHandlerContext, io.netty.handler.codec.socksx.v5.Socks5CommandRequest);
descriptor: (Lio/netty/example/socksproxy/SocksServerConnectHandler;Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/socksx/v5/Socks5CommandRequest;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield io.netty.example.socksproxy.SocksServerConnectHandler$4.this$0:Lio/netty/example/socksproxy/SocksServerConnectHandler;
aload 0
aload 2
putfield io.netty.example.socksproxy.SocksServerConnectHandler$4.val$ctx:Lio/netty/channel/ChannelHandlerContext;
aload 0
aload 3
putfield io.netty.example.socksproxy.SocksServerConnectHandler$4.val$request:Lio/netty/handler/codec/socksx/v5/Socks5CommandRequest;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/example/socksproxy/SocksServerConnectHandler$4;
MethodParameters:
Name Flags
this$0 final
val$ctx final
val$request final
public void operationComplete(io.netty.channel.ChannelFuture);
descriptor: (Lio/netty/channel/ChannelFuture;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.channel.ChannelFuture.isSuccess:()Z
ifne 5
1: aload 0
getfield io.netty.example.socksproxy.SocksServerConnectHandler$4.val$ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
2: new io.netty.handler.codec.socksx.v5.DefaultSocks5CommandResponse
dup
getstatic io.netty.handler.codec.socksx.v5.Socks5CommandStatus.FAILURE:Lio/netty/handler/codec/socksx/v5/Socks5CommandStatus;
aload 0
getfield io.netty.example.socksproxy.SocksServerConnectHandler$4.val$request:Lio/netty/handler/codec/socksx/v5/Socks5CommandRequest;
invokeinterface io.netty.handler.codec.socksx.v5.Socks5CommandRequest.dstAddrType:()Lio/netty/handler/codec/socksx/v5/Socks5AddressType;
invokespecial io.netty.handler.codec.socksx.v5.DefaultSocks5CommandResponse.<init>:(Lio/netty/handler/codec/socksx/v5/Socks5CommandStatus;Lio/netty/handler/codec/socksx/v5/Socks5AddressType;)V
3: invokeinterface io.netty.channel.Channel.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
pop
4: aload 0
getfield io.netty.example.socksproxy.SocksServerConnectHandler$4.val$ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokestatic io.netty.example.socksproxy.SocksServerUtils.closeOnFlush:(Lio/netty/channel/Channel;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/example/socksproxy/SocksServerConnectHandler$4;
0 6 1 future Lio/netty/channel/ChannelFuture;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
future
public void operationComplete(io.netty.util.concurrent.Future);
descriptor: (Lio/netty/util/concurrent/Future;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast io.netty.channel.ChannelFuture
invokevirtual io.netty.example.socksproxy.SocksServerConnectHandler$4.operationComplete:(Lio/netty/channel/ChannelFuture;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
SourceFile: "SocksServerConnectHandler.java"
EnclosingMethod: io.netty.example.socksproxy.SocksServerConnectHandler.channelRead0:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/codec/socksx/SocksMessage;)V
NestHost: io.netty.example.socksproxy.SocksServerConnectHandler
InnerClasses:
io.netty.example.socksproxy.SocksServerConnectHandler$4