public class io.netty.example.uptime.UptimeClientHandler extends io.netty.channel.SimpleChannelInboundHandler<java.lang.Object>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.example.uptime.UptimeClientHandler
super_class: io.netty.channel.SimpleChannelInboundHandler
{
long startTime;
descriptor: J
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.channel.SimpleChannelInboundHandler.<init>:()V
1: aload 0
ldc -1
putfield io.netty.example.uptime.UptimeClientHandler.startTime:J
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/example/uptime/UptimeClientHandler;
public void channelActive(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.example.uptime.UptimeClientHandler.startTime:J
lconst_0
lcmp
ifge 2
1: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
putfield io.netty.example.uptime.UptimeClientHandler.startTime:J
2: StackMap locals:
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "Connected to: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.remoteAddress:()Ljava/net/SocketAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.netty.example.uptime.UptimeClientHandler.println:(Ljava/lang/String;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/example/uptime/UptimeClientHandler;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public void channelRead0(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/example/uptime/UptimeClientHandler;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 msg Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
msg
public void userEventTriggered(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof io.netty.handler.timeout.IdleStateEvent
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 2
checkcast io.netty.handler.timeout.IdleStateEvent
astore 3
start local 3 3: aload 3
invokevirtual io.netty.handler.timeout.IdleStateEvent.state:()Lio/netty/handler/timeout/IdleState;
getstatic io.netty.handler.timeout.IdleState.READER_IDLE:Lio/netty/handler/timeout/IdleState;
if_acmpne 6
4: aload 0
ldc "Disconnecting due to no inbound traffic"
invokevirtual io.netty.example.uptime.UptimeClientHandler.println:(Ljava/lang/String;)V
5: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
6: StackMap locals: io.netty.handler.timeout.IdleStateEvent
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/example/uptime/UptimeClientHandler;
0 7 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 7 2 evt Ljava/lang/Object;
3 7 3 e Lio/netty/handler/timeout/IdleStateEvent;
MethodParameters:
Name Flags
ctx
evt
public void channelInactive(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.lang.StringBuilder
dup
ldc "Disconnected from: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.remoteAddress:()Ljava/net/SocketAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.netty.example.uptime.UptimeClientHandler.println:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/example/uptime/UptimeClientHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx final
public void channelUnregistered(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.lang.StringBuilder
dup
ldc "Sleeping for: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic io.netty.example.uptime.UptimeClient.RECONNECT_DELAY:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
bipush 115
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.netty.example.uptime.UptimeClientHandler.println:(Ljava/lang/String;)V
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.eventLoop:()Lio/netty/channel/EventLoop;
new io.netty.example.uptime.UptimeClientHandler$1
dup
aload 0
invokespecial io.netty.example.uptime.UptimeClientHandler$1.<init>:(Lio/netty/example/uptime/UptimeClientHandler;)V
2: getstatic io.netty.example.uptime.UptimeClient.RECONNECT_DELAY:I
i2l
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
3: invokeinterface io.netty.channel.EventLoop.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/ScheduledFuture;
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/example/uptime/UptimeClientHandler;
0 5 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx final
public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual java.lang.Throwable.printStackTrace:()V
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/example/uptime/UptimeClientHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
ctx
cause
void println(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.example.uptime.UptimeClientHandler.startTime:J
lconst_0
lcmp
ifge 3
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "[SERVER IS DOWN] %s%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual java.io.PrintStream.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "[UPTIME: %5ds] %s%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
invokestatic java.lang.System.currentTimeMillis:()J
aload 0
getfield io.netty.example.uptime.UptimeClientHandler.startTime:J
lsub
ldc 1000
ldiv
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
aastore
invokevirtual java.io.PrintStream.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/example/uptime/UptimeClientHandler;
0 5 1 msg Ljava/lang/String;
MethodParameters:
Name Flags
msg
}
Signature: Lio/netty/channel/SimpleChannelInboundHandler<Ljava/lang/Object;>;
SourceFile: "UptimeClientHandler.java"
NestMembers:
io.netty.example.uptime.UptimeClientHandler$1
InnerClasses:
public abstract Sharable = io.netty.channel.ChannelHandler$Sharable of io.netty.channel.ChannelHandler
io.netty.example.uptime.UptimeClientHandler$1
RuntimeVisibleAnnotations:
io.netty.channel.ChannelHandler$Sharable()