public final class io.netty.example.localecho.LocalEcho
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.netty.example.localecho.LocalEcho
super_class: java.lang.Object
{
static final java.lang.String PORT;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "port"
ldc "test_port"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
putstatic io.netty.example.localecho.LocalEcho.PORT:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
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/example/localecho/LocalEcho;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=1
start local 0 0: new io.netty.channel.local.LocalAddress
dup
getstatic io.netty.example.localecho.LocalEcho.PORT:Ljava/lang/String;
invokespecial io.netty.channel.local.LocalAddress.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: new io.netty.channel.DefaultEventLoopGroup
dup
invokespecial io.netty.channel.DefaultEventLoopGroup.<init>:()V
astore 2
start local 2 2: new io.netty.channel.nio.NioEventLoopGroup
dup
invokespecial io.netty.channel.nio.NioEventLoopGroup.<init>:()V
astore 3
start local 3 3: new io.netty.bootstrap.ServerBootstrap
dup
invokespecial io.netty.bootstrap.ServerBootstrap.<init>:()V
astore 4
start local 4 4: aload 4
aload 2
invokevirtual io.netty.bootstrap.ServerBootstrap.group:(Lio/netty/channel/EventLoopGroup;)Lio/netty/bootstrap/ServerBootstrap;
5: ldc Lio/netty/channel/local/LocalServerChannel;
invokevirtual io.netty.bootstrap.ServerBootstrap.channel:(Ljava/lang/Class;)Lio/netty/bootstrap/AbstractBootstrap;
checkcast io.netty.bootstrap.ServerBootstrap
6: new io.netty.example.localecho.LocalEcho$1
dup
invokespecial io.netty.example.localecho.LocalEcho$1.<init>:()V
invokevirtual io.netty.bootstrap.ServerBootstrap.handler:(Lio/netty/channel/ChannelHandler;)Lio/netty/bootstrap/AbstractBootstrap;
checkcast io.netty.bootstrap.ServerBootstrap
7: new io.netty.example.localecho.LocalEcho$2
dup
invokespecial io.netty.example.localecho.LocalEcho$2.<init>:()V
invokevirtual io.netty.bootstrap.ServerBootstrap.childHandler:(Lio/netty/channel/ChannelHandler;)Lio/netty/bootstrap/ServerBootstrap;
pop
8: new io.netty.bootstrap.Bootstrap
dup
invokespecial io.netty.bootstrap.Bootstrap.<init>:()V
astore 5
start local 5 9: aload 5
aload 3
invokevirtual io.netty.bootstrap.Bootstrap.group:(Lio/netty/channel/EventLoopGroup;)Lio/netty/bootstrap/AbstractBootstrap;
checkcast io.netty.bootstrap.Bootstrap
10: ldc Lio/netty/channel/local/LocalChannel;
invokevirtual io.netty.bootstrap.Bootstrap.channel:(Ljava/lang/Class;)Lio/netty/bootstrap/AbstractBootstrap;
checkcast io.netty.bootstrap.Bootstrap
11: new io.netty.example.localecho.LocalEcho$3
dup
invokespecial io.netty.example.localecho.LocalEcho$3.<init>:()V
invokevirtual io.netty.bootstrap.Bootstrap.handler:(Lio/netty/channel/ChannelHandler;)Lio/netty/bootstrap/AbstractBootstrap;
pop
12: aload 4
aload 1
invokevirtual io.netty.bootstrap.ServerBootstrap.bind:(Ljava/net/SocketAddress;)Lio/netty/channel/ChannelFuture;
invokeinterface io.netty.channel.ChannelFuture.sync:()Lio/netty/channel/ChannelFuture;
pop
13: aload 5
aload 1
invokevirtual io.netty.bootstrap.Bootstrap.connect:(Ljava/net/SocketAddress;)Lio/netty/channel/ChannelFuture;
invokeinterface io.netty.channel.ChannelFuture.sync:()Lio/netty/channel/ChannelFuture;
invokeinterface io.netty.channel.ChannelFuture.channel:()Lio/netty/channel/Channel;
astore 6
start local 6 14: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Enter text (quit to end)"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
15: aconst_null
astore 7
start local 7 16: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
getstatic java.lang.System.in:Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 8
start local 8 17: StackMap locals: java.lang.String[] io.netty.channel.local.LocalAddress io.netty.channel.EventLoopGroup io.netty.channel.EventLoopGroup io.netty.bootstrap.ServerBootstrap io.netty.bootstrap.Bootstrap io.netty.channel.Channel io.netty.channel.ChannelFuture java.io.BufferedReader
StackMap stack:
aload 8
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 9
start local 9 18: aload 9
ifnull 22
ldc "quit"
aload 9
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 20
19: goto 22
20: StackMap locals: java.lang.String
StackMap stack:
aload 6
aload 9
invokeinterface io.netty.channel.Channel.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
astore 7
end local 9 21: goto 17
22: StackMap locals:
StackMap stack:
aload 7
ifnull 29
23: aload 7
invokeinterface io.netty.channel.ChannelFuture.awaitUninterruptibly:()Lio/netty/channel/ChannelFuture;
pop
end local 8 end local 7 end local 6 end local 5 end local 4 24: goto 29
StackMap locals: java.lang.String[] io.netty.channel.local.LocalAddress io.netty.channel.EventLoopGroup io.netty.channel.EventLoopGroup
StackMap stack: java.lang.Throwable
25: astore 10
26: aload 2
invokeinterface io.netty.channel.EventLoopGroup.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
27: aload 3
invokeinterface io.netty.channel.EventLoopGroup.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
28: aload 10
athrow
29: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.netty.channel.EventLoopGroup.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
30: aload 3
invokeinterface io.netty.channel.EventLoopGroup.shutdownGracefully:()Lio/netty/util/concurrent/Future;
pop
31: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 args [Ljava/lang/String;
1 32 1 addr Lio/netty/channel/local/LocalAddress;
2 32 2 serverGroup Lio/netty/channel/EventLoopGroup;
3 32 3 clientGroup Lio/netty/channel/EventLoopGroup;
4 24 4 sb Lio/netty/bootstrap/ServerBootstrap;
9 24 5 cb Lio/netty/bootstrap/Bootstrap;
14 24 6 ch Lio/netty/channel/Channel;
16 24 7 lastWriteFuture Lio/netty/channel/ChannelFuture;
17 24 8 in Ljava/io/BufferedReader;
18 21 9 line Ljava/lang/String;
Exception table:
from to target type
3 25 25 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
}
SourceFile: "LocalEcho.java"
NestMembers:
io.netty.example.localecho.LocalEcho$1 io.netty.example.localecho.LocalEcho$2 io.netty.example.localecho.LocalEcho$3
InnerClasses:
io.netty.example.localecho.LocalEcho$1
io.netty.example.localecho.LocalEcho$2
io.netty.example.localecho.LocalEcho$3