class io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor extends io.netty.channel.ChannelInboundHandlerAdapter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor
super_class: io.netty.channel.ChannelInboundHandlerAdapter
{
private final io.netty.channel.EventLoopGroup childGroup;
descriptor: Lio/netty/channel/EventLoopGroup;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.channel.ChannelHandler childHandler;
descriptor: Lio/netty/channel/ChannelHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map$Entry<io.netty.channel.ChannelOption<?>, java.lang.Object>[] childOptions;
descriptor: [Ljava/util/Map$Entry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Ljava/util/Map$Entry<Lio/netty/channel/ChannelOption<*>;Ljava/lang/Object;>;
private final java.util.Map$Entry<io.netty.util.AttributeKey<?>, java.lang.Object>[] childAttrs;
descriptor: [Ljava/util/Map$Entry;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: [Ljava/util/Map$Entry<Lio/netty/util/AttributeKey<*>;Ljava/lang/Object;>;
private final java.lang.Runnable enableAutoReadTask;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.netty.channel.Channel, io.netty.channel.EventLoopGroup, io.netty.channel.ChannelHandler, java.util.Map$Entry<io.netty.channel.ChannelOption<?>, java.lang.Object>[], java.util.Map$Entry<io.netty.util.AttributeKey<?>, java.lang.Object>[]);
descriptor: (Lio/netty/channel/Channel;Lio/netty/channel/EventLoopGroup;Lio/netty/channel/ChannelHandler;[Ljava/util/Map$Entry;[Ljava/util/Map$Entry;)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial io.netty.channel.ChannelInboundHandlerAdapter.<init>:()V
1: aload 0
aload 2
putfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.childGroup:Lio/netty/channel/EventLoopGroup;
2: aload 0
aload 3
putfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.childHandler:Lio/netty/channel/ChannelHandler;
3: aload 0
aload 4
putfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.childOptions:[Ljava/util/Map$Entry;
4: aload 0
aload 5
putfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.childAttrs:[Ljava/util/Map$Entry;
5: aload 0
new io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$1
dup
aload 0
aload 1
invokespecial io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$1.<init>:(Lio/netty/bootstrap/ServerBootstrap$ServerBootstrapAcceptor;Lio/netty/channel/Channel;)V
putfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.enableAutoReadTask:Ljava/lang/Runnable;
6: return
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 7 0 this Lio/netty/bootstrap/ServerBootstrap$ServerBootstrapAcceptor;
0 7 1 channel Lio/netty/channel/Channel;
0 7 2 childGroup Lio/netty/channel/EventLoopGroup;
0 7 3 childHandler Lio/netty/channel/ChannelHandler;
0 7 4 childOptions [Ljava/util/Map$Entry;
0 7 5 childAttrs [Ljava/util/Map$Entry;
Signature: (Lio/netty/channel/Channel;Lio/netty/channel/EventLoopGroup;Lio/netty/channel/ChannelHandler;[Ljava/util/Map$Entry<Lio/netty/channel/ChannelOption<*>;Ljava/lang/Object;>;[Ljava/util/Map$Entry<Lio/netty/util/AttributeKey<*>;Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
channel final
childGroup
childHandler
childOptions
childAttrs
public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast io.netty.channel.Channel
astore 3
start local 3 1: aload 3
invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
iconst_1
anewarray io.netty.channel.ChannelHandler
dup
iconst_0
aload 0
getfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.childHandler:Lio/netty/channel/ChannelHandler;
aastore
invokeinterface io.netty.channel.ChannelPipeline.addLast:([Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
2: aload 3
aload 0
getfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.childOptions:[Ljava/util/Map$Entry;
getstatic io.netty.bootstrap.ServerBootstrap.logger:Lio/netty/util/internal/logging/InternalLogger;
invokestatic io.netty.bootstrap.ServerBootstrap.setChannelOptions:(Lio/netty/channel/Channel;[Ljava/util/Map$Entry;Lio/netty/util/internal/logging/InternalLogger;)V
3: aload 0
getfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.childAttrs:[Ljava/util/Map$Entry;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 7
StackMap locals: io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor io.netty.channel.ChannelHandlerContext java.lang.Object io.netty.channel.Channel top int int java.util.Map$Entry[]
StackMap stack:
4: aload 7
iload 5
aaload
astore 4
start local 4 5: aload 3
aload 4
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast io.netty.util.AttributeKey
invokeinterface io.netty.channel.Channel.attr:(Lio/netty/util/AttributeKey;)Lio/netty/util/Attribute;
aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
invokeinterface io.netty.util.Attribute.set:(Ljava/lang/Object;)V
end local 4 6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 6
if_icmplt 4
8: aload 0
getfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.childGroup:Lio/netty/channel/EventLoopGroup;
aload 3
invokeinterface io.netty.channel.EventLoopGroup.register:(Lio/netty/channel/Channel;)Lio/netty/channel/ChannelFuture;
new io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$2
dup
aload 0
aload 3
invokespecial io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$2.<init>:(Lio/netty/bootstrap/ServerBootstrap$ServerBootstrapAcceptor;Lio/netty/channel/Channel;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
9: goto 12
StackMap locals: io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor io.netty.channel.ChannelHandlerContext java.lang.Object io.netty.channel.Channel
StackMap stack: java.lang.Throwable
10: astore 4
start local 4 11: aload 3
aload 4
invokestatic io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.forceClose:(Lio/netty/channel/Channel;Ljava/lang/Throwable;)V
end local 4 12: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/netty/bootstrap/ServerBootstrap$ServerBootstrapAcceptor;
0 13 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 13 2 msg Ljava/lang/Object;
1 13 3 child Lio/netty/channel/Channel;
5 6 4 e Ljava/util/Map$Entry<Lio/netty/util/AttributeKey<*>;Ljava/lang/Object;>;
11 12 4 t Ljava/lang/Throwable;
Exception table:
from to target type
8 9 10 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
msg
private static void forceClose(io.netty.channel.Channel, java.lang.Throwable);
descriptor: (Lio/netty/channel/Channel;Ljava/lang/Throwable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface io.netty.channel.Channel.unsafe:()Lio/netty/channel/Channel$Unsafe;
invokeinterface io.netty.channel.Channel$Unsafe.closeForcibly:()V
1: getstatic io.netty.bootstrap.ServerBootstrap.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Failed to register an accepted channel: {}"
aload 0
aload 1
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 child Lio/netty/channel/Channel;
0 3 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
child
t
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=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.config:()Lio/netty/channel/ChannelConfig;
astore 3
start local 3 1: aload 3
invokeinterface io.netty.channel.ChannelConfig.isAutoRead:()Z
ifeq 4
2: aload 3
iconst_0
invokeinterface io.netty.channel.ChannelConfig.setAutoRead:(Z)Lio/netty/channel/ChannelConfig;
pop
3: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.eventLoop:()Lio/netty/channel/EventLoop;
aload 0
getfield io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor.enableAutoReadTask:Ljava/lang/Runnable;
lconst_1
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface io.netty.channel.EventLoop.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/ScheduledFuture;
pop
4: StackMap locals: io.netty.channel.ChannelConfig
StackMap stack:
aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
pop
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/bootstrap/ServerBootstrap$ServerBootstrapAcceptor;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 6 2 cause Ljava/lang/Throwable;
1 6 3 config Lio/netty/channel/ChannelConfig;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
cause
}
SourceFile: "ServerBootstrap.java"
NestHost: io.netty.bootstrap.ServerBootstrap
InnerClasses:
private ServerBootstrapAcceptor = io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor of io.netty.bootstrap.ServerBootstrap
io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$1
io.netty.bootstrap.ServerBootstrap$ServerBootstrapAcceptor$2
public abstract Unsafe = io.netty.channel.Channel$Unsafe of io.netty.channel.Channel
public abstract Entry = java.util.Map$Entry of java.util.Map