public class io.netty.channel.local.LocalServerChannel extends io.netty.channel.AbstractServerChannel
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.channel.local.LocalServerChannel
super_class: io.netty.channel.AbstractServerChannel
{
private final io.netty.channel.ChannelConfig config;
descriptor: Lio/netty/channel/ChannelConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Queue<java.lang.Object> inboundBuffer;
descriptor: Ljava/util/Queue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Queue<Ljava/lang/Object;>;
private final java.lang.Runnable shutdownHook;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile int state;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile io.netty.channel.local.LocalAddress localAddress;
descriptor: Lio/netty/channel/local/LocalAddress;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean acceptInProgress;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.channel.AbstractServerChannel.<init>:()V
1: aload 0
new io.netty.channel.DefaultChannelConfig
dup
aload 0
invokespecial io.netty.channel.DefaultChannelConfig.<init>:(Lio/netty/channel/Channel;)V
putfield io.netty.channel.local.LocalServerChannel.config:Lio/netty/channel/ChannelConfig;
2: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.netty.channel.local.LocalServerChannel.inboundBuffer:Ljava/util/Queue;
3: aload 0
new io.netty.channel.local.LocalServerChannel$1
dup
aload 0
invokespecial io.netty.channel.local.LocalServerChannel$1.<init>:(Lio/netty/channel/local/LocalServerChannel;)V
putfield io.netty.channel.local.LocalServerChannel.shutdownHook:Ljava/lang/Runnable;
4: aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.config:()Lio/netty/channel/ChannelConfig;
new io.netty.channel.PreferHeapByteBufAllocator
dup
aload 0
getfield io.netty.channel.local.LocalServerChannel.config:Lio/netty/channel/ChannelConfig;
invokeinterface io.netty.channel.ChannelConfig.getAllocator:()Lio/netty/buffer/ByteBufAllocator;
invokespecial io.netty.channel.PreferHeapByteBufAllocator.<init>:(Lio/netty/buffer/ByteBufAllocator;)V
invokeinterface io.netty.channel.ChannelConfig.setAllocator:(Lio/netty/buffer/ByteBufAllocator;)Lio/netty/channel/ChannelConfig;
pop
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/channel/local/LocalServerChannel;
public io.netty.channel.ChannelConfig config();
descriptor: ()Lio/netty/channel/ChannelConfig;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.local.LocalServerChannel.config:Lio/netty/channel/ChannelConfig;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/local/LocalServerChannel;
public io.netty.channel.local.LocalAddress localAddress();
descriptor: ()Lio/netty/channel/local/LocalAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.channel.AbstractServerChannel.localAddress:()Ljava/net/SocketAddress;
checkcast io.netty.channel.local.LocalAddress
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/local/LocalServerChannel;
public io.netty.channel.local.LocalAddress remoteAddress();
descriptor: ()Lio/netty/channel/local/LocalAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.channel.AbstractServerChannel.remoteAddress:()Ljava/net/SocketAddress;
checkcast io.netty.channel.local.LocalAddress
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/local/LocalServerChannel;
public boolean isOpen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.local.LocalServerChannel.state:I
iconst_2
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/local/LocalServerChannel;
public boolean isActive();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.local.LocalServerChannel.state:I
iconst_1
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 this Lio/netty/channel/local/LocalServerChannel;
protected boolean isCompatible(io.netty.channel.EventLoop);
descriptor: (Lio/netty/channel/EventLoop;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.netty.channel.SingleThreadEventLoop
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/local/LocalServerChannel;
0 1 1 loop Lio/netty/channel/EventLoop;
MethodParameters:
Name Flags
loop
protected java.net.SocketAddress localAddress0();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.local.LocalServerChannel.localAddress:Lio/netty/channel/local/LocalAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/local/LocalServerChannel;
protected void doRegister();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.eventLoop:()Lio/netty/channel/EventLoop;
checkcast io.netty.util.concurrent.SingleThreadEventExecutor
aload 0
getfield io.netty.channel.local.LocalServerChannel.shutdownHook:Ljava/lang/Runnable;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.addShutdownHook:(Ljava/lang/Runnable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/local/LocalServerChannel;
Exceptions:
throws java.lang.Exception
protected void doBind(java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
aload 0
getfield io.netty.channel.local.LocalServerChannel.localAddress:Lio/netty/channel/local/LocalAddress;
aload 1
invokestatic io.netty.channel.local.LocalChannelRegistry.register:(Lio/netty/channel/Channel;Lio/netty/channel/local/LocalAddress;Ljava/net/SocketAddress;)Lio/netty/channel/local/LocalAddress;
putfield io.netty.channel.local.LocalServerChannel.localAddress:Lio/netty/channel/local/LocalAddress;
1: aload 0
iconst_1
putfield io.netty.channel.local.LocalServerChannel.state:I
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/local/LocalServerChannel;
0 3 1 localAddress Ljava/net/SocketAddress;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
localAddress
protected void doClose();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.local.LocalServerChannel.state:I
iconst_1
if_icmpgt 5
1: aload 0
getfield io.netty.channel.local.LocalServerChannel.localAddress:Lio/netty/channel/local/LocalAddress;
ifnull 4
2: aload 0
getfield io.netty.channel.local.LocalServerChannel.localAddress:Lio/netty/channel/local/LocalAddress;
invokestatic io.netty.channel.local.LocalChannelRegistry.unregister:(Lio/netty/channel/local/LocalAddress;)V
3: aload 0
aconst_null
putfield io.netty.channel.local.LocalServerChannel.localAddress:Lio/netty/channel/local/LocalAddress;
4: StackMap locals:
StackMap stack:
aload 0
iconst_2
putfield io.netty.channel.local.LocalServerChannel.state:I
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/channel/local/LocalServerChannel;
Exceptions:
throws java.lang.Exception
protected void doDeregister();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.eventLoop:()Lio/netty/channel/EventLoop;
checkcast io.netty.util.concurrent.SingleThreadEventExecutor
aload 0
getfield io.netty.channel.local.LocalServerChannel.shutdownHook:Ljava/lang/Runnable;
invokevirtual io.netty.util.concurrent.SingleThreadEventExecutor.removeShutdownHook:(Ljava/lang/Runnable;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/local/LocalServerChannel;
Exceptions:
throws java.lang.Exception
protected void doBeginRead();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.local.LocalServerChannel.acceptInProgress:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.local.LocalServerChannel.inboundBuffer:Ljava/util/Queue;
astore 1
start local 1 3: aload 1
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 6
4: aload 0
iconst_1
putfield io.netty.channel.local.LocalServerChannel.acceptInProgress:Z
5: return
6: StackMap locals: java.util.Queue
StackMap stack:
aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.readInbound:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/channel/local/LocalServerChannel;
3 8 1 inboundBuffer Ljava/util/Queue<Ljava/lang/Object;>;
Exceptions:
throws java.lang.Exception
io.netty.channel.local.LocalChannel serve(io.netty.channel.local.LocalChannel);
descriptor: (Lio/netty/channel/local/LocalChannel;)Lio/netty/channel/local/LocalChannel;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.netty.channel.local.LocalServerChannel.newLocalChannel:(Lio/netty/channel/local/LocalChannel;)Lio/netty/channel/local/LocalChannel;
astore 2
start local 2 1: aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.eventLoop:()Lio/netty/channel/EventLoop;
invokeinterface io.netty.channel.EventLoop.inEventLoop:()Z
ifeq 4
2: aload 0
aload 2
invokevirtual io.netty.channel.local.LocalServerChannel.serve0:(Lio/netty/channel/local/LocalChannel;)V
3: goto 5
4: StackMap locals: io.netty.channel.local.LocalChannel
StackMap stack:
aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.eventLoop:()Lio/netty/channel/EventLoop;
new io.netty.channel.local.LocalServerChannel$2
dup
aload 0
aload 2
invokespecial io.netty.channel.local.LocalServerChannel$2.<init>:(Lio/netty/channel/local/LocalServerChannel;Lio/netty/channel/local/LocalChannel;)V
invokeinterface io.netty.channel.EventLoop.execute:(Ljava/lang/Runnable;)V
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/channel/local/LocalServerChannel;
0 6 1 peer Lio/netty/channel/local/LocalChannel;
1 6 2 child Lio/netty/channel/local/LocalChannel;
MethodParameters:
Name Flags
peer final
private void readInbound();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.unsafe:()Lio/netty/channel/Channel$Unsafe;
invokeinterface io.netty.channel.Channel$Unsafe.recvBufAllocHandle:()Lio/netty/channel/RecvByteBufAllocator$Handle;
astore 1
start local 1 1: aload 1
aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.config:()Lio/netty/channel/ChannelConfig;
invokeinterface io.netty.channel.RecvByteBufAllocator$Handle.reset:(Lio/netty/channel/ChannelConfig;)V
2: aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.pipeline:()Lio/netty/channel/ChannelPipeline;
astore 2
start local 2 3: StackMap locals: io.netty.channel.RecvByteBufAllocator$Handle io.netty.channel.ChannelPipeline
StackMap stack:
aload 0
getfield io.netty.channel.local.LocalServerChannel.inboundBuffer:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
astore 3
start local 3 4: aload 3
ifnonnull 6
5: goto 8
6: StackMap locals: java.lang.Object
StackMap stack:
aload 2
aload 3
invokeinterface io.netty.channel.ChannelPipeline.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelPipeline;
pop
end local 3 7: aload 1
invokeinterface io.netty.channel.RecvByteBufAllocator$Handle.continueReading:()Z
ifne 3
8: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.netty.channel.ChannelPipeline.fireChannelReadComplete:()Lio/netty/channel/ChannelPipeline;
pop
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/netty/channel/local/LocalServerChannel;
1 10 1 handle Lio/netty/channel/RecvByteBufAllocator$Handle;
3 10 2 pipeline Lio/netty/channel/ChannelPipeline;
4 7 3 m Ljava/lang/Object;
protected io.netty.channel.local.LocalChannel newLocalChannel(io.netty.channel.local.LocalChannel);
descriptor: (Lio/netty/channel/local/LocalChannel;)Lio/netty/channel/local/LocalChannel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new io.netty.channel.local.LocalChannel
dup
aload 0
aload 1
invokespecial io.netty.channel.local.LocalChannel.<init>:(Lio/netty/channel/local/LocalServerChannel;Lio/netty/channel/local/LocalChannel;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/local/LocalServerChannel;
0 1 1 peer Lio/netty/channel/local/LocalChannel;
MethodParameters:
Name Flags
peer
private void serve0(io.netty.channel.local.LocalChannel);
descriptor: (Lio/netty/channel/local/LocalChannel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.local.LocalServerChannel.inboundBuffer:Ljava/util/Queue;
aload 1
invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
pop
1: aload 0
getfield io.netty.channel.local.LocalServerChannel.acceptInProgress:Z
ifeq 4
2: aload 0
iconst_0
putfield io.netty.channel.local.LocalServerChannel.acceptInProgress:Z
3: aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.readInbound:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/channel/local/LocalServerChannel;
0 5 1 child Lio/netty/channel/local/LocalChannel;
MethodParameters:
Name Flags
child final
public java.net.SocketAddress localAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.localAddress:()Lio/netty/channel/local/LocalAddress;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.net.SocketAddress remoteAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.netty.channel.local.LocalServerChannel.remoteAddress:()Lio/netty/channel/local/LocalAddress;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "LocalServerChannel.java"
NestMembers:
io.netty.channel.local.LocalServerChannel$1 io.netty.channel.local.LocalServerChannel$2
InnerClasses:
public abstract Unsafe = io.netty.channel.Channel$Unsafe of io.netty.channel.Channel
public abstract Handle = io.netty.channel.RecvByteBufAllocator$Handle of io.netty.channel.RecvByteBufAllocator
io.netty.channel.local.LocalServerChannel$1
io.netty.channel.local.LocalServerChannel$2