public abstract class io.netty.channel.nio.AbstractNioChannel extends io.netty.channel.AbstractChannel
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.channel.nio.AbstractNioChannel
super_class: io.netty.channel.AbstractChannel
{
private static final io.netty.util.internal.logging.InternalLogger logger;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.nio.channels.ClosedChannelException DO_CLOSE_CLOSED_CHANNEL_EXCEPTION;
descriptor: Ljava/nio/channels/ClosedChannelException;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.nio.channels.SelectableChannel ch;
descriptor: Ljava/nio/channels/SelectableChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final int readInterestOp;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
volatile java.nio.channels.SelectionKey selectionKey;
descriptor: Ljava/nio/channels/SelectionKey;
flags: (0x0040) ACC_VOLATILE
boolean readPending;
descriptor: Z
flags: (0x0000)
private final java.lang.Runnable clearReadPendingRunnable;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.channel.ChannelPromise connectPromise;
descriptor: Lio/netty/channel/ChannelPromise;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.ScheduledFuture<?> connectTimeoutFuture;
descriptor: Ljava/util/concurrent/ScheduledFuture;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/ScheduledFuture<*>;
private java.net.SocketAddress requestedRemoteAddress;
descriptor: Ljava/net/SocketAddress;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lio/netty/channel/nio/AbstractNioChannel;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.netty.channel.nio.AbstractNioChannel.$assertionsDisabled:Z
3: ldc Lio/netty/channel/nio/AbstractNioChannel;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
4: putstatic io.netty.channel.nio.AbstractNioChannel.logger:Lio/netty/util/internal/logging/InternalLogger;
5: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
ldc Lio/netty/channel/nio/AbstractNioChannel;
ldc "doClose()"
6: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast java.nio.channels.ClosedChannelException
putstatic io.netty.channel.nio.AbstractNioChannel.DO_CLOSE_CLOSED_CHANNEL_EXCEPTION:Ljava/nio/channels/ClosedChannelException;
7: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(io.netty.channel.Channel, java.nio.channels.SelectableChannel, int);
descriptor: (Lio/netty/channel/Channel;Ljava/nio/channels/SelectableChannel;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial io.netty.channel.AbstractChannel.<init>:(Lio/netty/channel/Channel;)V
1: aload 0
new io.netty.channel.nio.AbstractNioChannel$1
dup
aload 0
invokespecial io.netty.channel.nio.AbstractNioChannel$1.<init>:(Lio/netty/channel/nio/AbstractNioChannel;)V
putfield io.netty.channel.nio.AbstractNioChannel.clearReadPendingRunnable:Ljava/lang/Runnable;
2: aload 0
aload 2
putfield io.netty.channel.nio.AbstractNioChannel.ch:Ljava/nio/channels/SelectableChannel;
3: aload 0
iload 3
putfield io.netty.channel.nio.AbstractNioChannel.readInterestOp:I
4: aload 2
iconst_0
invokevirtual java.nio.channels.SelectableChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
5: goto 15
StackMap locals: io.netty.channel.nio.AbstractNioChannel io.netty.channel.Channel java.nio.channels.SelectableChannel int
StackMap stack: java.io.IOException
6: astore 4
start local 4 7: aload 2
invokevirtual java.nio.channels.SelectableChannel.close:()V
8: goto 14
StackMap locals: io.netty.channel.nio.AbstractNioChannel io.netty.channel.Channel java.nio.channels.SelectableChannel int java.io.IOException
StackMap stack: java.io.IOException
9: astore 5
start local 5 10: getstatic io.netty.channel.nio.AbstractNioChannel.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isWarnEnabled:()Z
ifeq 14
11: getstatic io.netty.channel.nio.AbstractNioChannel.logger:Lio/netty/util/internal/logging/InternalLogger;
12: ldc "Failed to close a partially initialized socket."
aload 5
13: invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 5 14: StackMap locals:
StackMap stack:
new io.netty.channel.ChannelException
dup
ldc "Failed to enter non-blocking mode."
aload 4
invokespecial io.netty.channel.ChannelException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/netty/channel/nio/AbstractNioChannel;
0 16 1 parent Lio/netty/channel/Channel;
0 16 2 ch Ljava/nio/channels/SelectableChannel;
0 16 3 readInterestOp I
7 15 4 e Ljava/io/IOException;
10 14 5 e2 Ljava/io/IOException;
Exception table:
from to target type
4 5 6 Class java.io.IOException
7 8 9 Class java.io.IOException
MethodParameters:
Name Flags
parent
ch
readInterestOp
public boolean isOpen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.nio.AbstractNioChannel.ch:Ljava/nio/channels/SelectableChannel;
invokevirtual java.nio.channels.SelectableChannel.isOpen:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/nio/AbstractNioChannel;
public io.netty.channel.nio.AbstractNioChannel$NioUnsafe unsafe();
descriptor: ()Lio/netty/channel/nio/AbstractNioChannel$NioUnsafe;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.channel.AbstractChannel.unsafe:()Lio/netty/channel/Channel$Unsafe;
checkcast io.netty.channel.nio.AbstractNioChannel$NioUnsafe
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/nio/AbstractNioChannel;
protected java.nio.channels.SelectableChannel javaChannel();
descriptor: ()Ljava/nio/channels/SelectableChannel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.nio.AbstractNioChannel.ch:Ljava/nio/channels/SelectableChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/nio/AbstractNioChannel;
public io.netty.channel.nio.NioEventLoop eventLoop();
descriptor: ()Lio/netty/channel/nio/NioEventLoop;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.channel.AbstractChannel.eventLoop:()Lio/netty/channel/EventLoop;
checkcast io.netty.channel.nio.NioEventLoop
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/nio/AbstractNioChannel;
protected java.nio.channels.SelectionKey selectionKey();
descriptor: ()Ljava/nio/channels/SelectionKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic io.netty.channel.nio.AbstractNioChannel.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.nio.AbstractNioChannel.selectionKey:Ljava/nio/channels/SelectionKey;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.nio.AbstractNioChannel.selectionKey:Ljava/nio/channels/SelectionKey;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/nio/AbstractNioChannel;
protected boolean isReadPending();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.nio.AbstractNioChannel.readPending:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/nio/AbstractNioChannel;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
protected void setReadPending(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.isRegistered:()Z
ifeq 7
1: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.eventLoop:()Lio/netty/channel/nio/NioEventLoop;
astore 2
start local 2 2: aload 2
invokeinterface io.netty.channel.EventLoop.inEventLoop:()Z
ifeq 5
3: aload 0
iload 1
invokevirtual io.netty.channel.nio.AbstractNioChannel.setReadPending0:(Z)V
4: goto 8
5: StackMap locals: io.netty.channel.EventLoop
StackMap stack:
aload 2
new io.netty.channel.nio.AbstractNioChannel$2
dup
aload 0
iload 1
invokespecial io.netty.channel.nio.AbstractNioChannel$2.<init>:(Lio/netty/channel/nio/AbstractNioChannel;Z)V
invokeinterface io.netty.channel.EventLoop.execute:(Ljava/lang/Runnable;)V
end local 2 6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield io.netty.channel.nio.AbstractNioChannel.readPending:Z
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/channel/nio/AbstractNioChannel;
0 9 1 readPending Z
2 6 2 eventLoop Lio/netty/channel/EventLoop;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
readPending final
protected final void clearReadPending();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.isRegistered:()Z
ifeq 7
1: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.eventLoop:()Lio/netty/channel/nio/NioEventLoop;
astore 1
start local 1 2: aload 1
invokeinterface io.netty.channel.EventLoop.inEventLoop:()Z
ifeq 5
3: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.clearReadPending0:()V
4: goto 8
5: StackMap locals: io.netty.channel.EventLoop
StackMap stack:
aload 1
aload 0
getfield io.netty.channel.nio.AbstractNioChannel.clearReadPendingRunnable:Ljava/lang/Runnable;
invokeinterface io.netty.channel.EventLoop.execute:(Ljava/lang/Runnable;)V
end local 1 6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield io.netty.channel.nio.AbstractNioChannel.readPending:Z
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/channel/nio/AbstractNioChannel;
2 6 1 eventLoop Lio/netty/channel/EventLoop;
private void setReadPending0(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.netty.channel.nio.AbstractNioChannel.readPending:Z
1: iload 1
ifne 3
2: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.unsafe:()Lio/netty/channel/nio/AbstractNioChannel$NioUnsafe;
checkcast io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe
invokevirtual io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.removeReadOp:()V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/nio/AbstractNioChannel;
0 4 1 readPending Z
MethodParameters:
Name Flags
readPending
private void clearReadPending0();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield io.netty.channel.nio.AbstractNioChannel.readPending:Z
1: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.unsafe:()Lio/netty/channel/nio/AbstractNioChannel$NioUnsafe;
checkcast io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe
invokevirtual io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.removeReadOp:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/nio/AbstractNioChannel;
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.nio.NioEventLoop
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/nio/AbstractNioChannel;
0 1 1 loop Lio/netty/channel/EventLoop;
MethodParameters:
Name Flags
loop
protected void doRegister();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: StackMap locals: int
StackMap stack:
aload 0
aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.javaChannel:()Ljava/nio/channels/SelectableChannel;
aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.eventLoop:()Lio/netty/channel/nio/NioEventLoop;
invokevirtual io.netty.channel.nio.NioEventLoop.unwrappedSelector:()Ljava/nio/channels/Selector;
iconst_0
aload 0
invokevirtual java.nio.channels.SelectableChannel.register:(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;
putfield io.netty.channel.nio.AbstractNioChannel.selectionKey:Ljava/nio/channels/SelectionKey;
2: return
3: StackMap locals:
StackMap stack: java.nio.channels.CancelledKeyException
astore 2
start local 2 4: iload 1
ifne 8
5: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.eventLoop:()Lio/netty/channel/nio/NioEventLoop;
invokevirtual io.netty.channel.nio.NioEventLoop.selectNow:()I
pop
6: iconst_1
istore 1
7: goto 1
8: StackMap locals: java.nio.channels.CancelledKeyException
StackMap stack:
aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/channel/nio/AbstractNioChannel;
1 9 1 selected Z
4 9 2 e Ljava/nio/channels/CancelledKeyException;
Exception table:
from to target type
1 2 3 Class java.nio.channels.CancelledKeyException
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.nio.AbstractNioChannel.eventLoop:()Lio/netty/channel/nio/NioEventLoop;
aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.selectionKey:()Ljava/nio/channels/SelectionKey;
invokevirtual io.netty.channel.nio.NioEventLoop.cancel:(Ljava/nio/channels/SelectionKey;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/nio/AbstractNioChannel;
Exceptions:
throws java.lang.Exception
protected void doBeginRead();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.nio.AbstractNioChannel.selectionKey:Ljava/nio/channels/SelectionKey;
astore 1
start local 1 1: aload 1
invokevirtual java.nio.channels.SelectionKey.isValid:()Z
ifne 3
2: return
3: StackMap locals: java.nio.channels.SelectionKey
StackMap stack:
aload 0
iconst_1
putfield io.netty.channel.nio.AbstractNioChannel.readPending:Z
4: aload 1
invokevirtual java.nio.channels.SelectionKey.interestOps:()I
istore 2
start local 2 5: iload 2
aload 0
getfield io.netty.channel.nio.AbstractNioChannel.readInterestOp:I
iand
ifne 7
6: aload 1
iload 2
aload 0
getfield io.netty.channel.nio.AbstractNioChannel.readInterestOp:I
ior
invokevirtual java.nio.channels.SelectionKey.interestOps:(I)Ljava/nio/channels/SelectionKey;
pop
7: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/channel/nio/AbstractNioChannel;
1 8 1 selectionKey Ljava/nio/channels/SelectionKey;
5 8 2 interestOps I
Exceptions:
throws java.lang.Exception
protected abstract boolean doConnect(java.net.SocketAddress, java.net.SocketAddress);
descriptor: (Ljava/net/SocketAddress;Ljava/net/SocketAddress;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
remoteAddress
localAddress
protected abstract void doFinishConnect();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
protected final io.netty.buffer.ByteBuf newDirectBuffer(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 2
start local 2 1: iload 2
ifne 4
2: aload 1
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
3: getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
areturn
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.alloc:()Lio/netty/buffer/ByteBufAllocator;
astore 3
start local 3 5: aload 3
invokeinterface io.netty.buffer.ByteBufAllocator.isDirectBufferPooled:()Z
ifeq 10
6: aload 3
iload 2
invokeinterface io.netty.buffer.ByteBufAllocator.directBuffer:(I)Lio/netty/buffer/ByteBuf;
astore 4
start local 4 7: aload 4
aload 1
aload 1
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 2
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
pop
8: aload 1
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
9: aload 4
areturn
end local 4 10: StackMap locals: io.netty.buffer.ByteBufAllocator
StackMap stack:
invokestatic io.netty.buffer.ByteBufUtil.threadLocalDirectBuffer:()Lio/netty/buffer/ByteBuf;
astore 4
start local 4 11: aload 4
ifnull 15
12: aload 4
aload 1
aload 1
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 2
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
pop
13: aload 1
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
14: aload 4
areturn
15: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 1
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/netty/channel/nio/AbstractNioChannel;
0 16 1 buf Lio/netty/buffer/ByteBuf;
1 16 2 readableBytes I
5 16 3 alloc Lio/netty/buffer/ByteBufAllocator;
7 10 4 directBuf Lio/netty/buffer/ByteBuf;
11 16 4 directBuf Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
buf
protected final io.netty.buffer.ByteBuf newDirectBuffer(io.netty.util.ReferenceCounted, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/util/ReferenceCounted;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 3
start local 3 1: iload 3
ifne 4
2: aload 1
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
3: getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
areturn
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.alloc:()Lio/netty/buffer/ByteBufAllocator;
astore 4
start local 4 5: aload 4
invokeinterface io.netty.buffer.ByteBufAllocator.isDirectBufferPooled:()Z
ifeq 10
6: aload 4
iload 3
invokeinterface io.netty.buffer.ByteBufAllocator.directBuffer:(I)Lio/netty/buffer/ByteBuf;
astore 5
start local 5 7: aload 5
aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 3
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
pop
8: aload 1
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
9: aload 5
areturn
end local 5 10: StackMap locals: io.netty.buffer.ByteBufAllocator
StackMap stack:
invokestatic io.netty.buffer.ByteBufUtil.threadLocalDirectBuffer:()Lio/netty/buffer/ByteBuf;
astore 5
start local 5 11: aload 5
ifnull 15
12: aload 5
aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 3
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
pop
13: aload 1
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
14: aload 5
areturn
15: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 1
aload 2
if_acmpeq 18
16: aload 2
invokevirtual io.netty.buffer.ByteBuf.retain:()Lio/netty/buffer/ByteBuf;
pop
17: aload 1
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
aload 2
areturn
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 19 0 this Lio/netty/channel/nio/AbstractNioChannel;
0 19 1 holder Lio/netty/util/ReferenceCounted;
0 19 2 buf Lio/netty/buffer/ByteBuf;
1 19 3 readableBytes I
5 19 4 alloc Lio/netty/buffer/ByteBufAllocator;
7 10 5 directBuf Lio/netty/buffer/ByteBuf;
11 19 5 directBuf Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
holder
buf
protected void doClose();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.nio.AbstractNioChannel.connectPromise:Lio/netty/channel/ChannelPromise;
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 1
getstatic io.netty.channel.nio.AbstractNioChannel.DO_CLOSE_CLOSED_CHANNEL_EXCEPTION:Ljava/nio/channels/ClosedChannelException;
invokeinterface io.netty.channel.ChannelPromise.tryFailure:(Ljava/lang/Throwable;)Z
pop
3: aload 0
aconst_null
putfield io.netty.channel.nio.AbstractNioChannel.connectPromise:Lio/netty/channel/ChannelPromise;
4: StackMap locals: io.netty.channel.ChannelPromise
StackMap stack:
aload 0
getfield io.netty.channel.nio.AbstractNioChannel.connectTimeoutFuture:Ljava/util/concurrent/ScheduledFuture;
astore 2
start local 2 5: aload 2
ifnull 8
6: aload 2
iconst_0
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
7: aload 0
aconst_null
putfield io.netty.channel.nio.AbstractNioChannel.connectTimeoutFuture:Ljava/util/concurrent/ScheduledFuture;
8: StackMap locals: java.util.concurrent.ScheduledFuture
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/channel/nio/AbstractNioChannel;
1 9 1 promise Lio/netty/channel/ChannelPromise;
5 9 2 future Ljava/util/concurrent/ScheduledFuture<*>;
Exceptions:
throws java.lang.Exception
public io.netty.channel.Channel$Unsafe unsafe();
descriptor: ()Lio/netty/channel/Channel$Unsafe;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.unsafe:()Lio/netty/channel/nio/AbstractNioChannel$NioUnsafe;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.netty.channel.EventLoop eventLoop();
descriptor: ()Lio/netty/channel/EventLoop;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.netty.channel.nio.AbstractNioChannel.eventLoop:()Lio/netty/channel/nio/NioEventLoop;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "AbstractNioChannel.java"
NestMembers:
io.netty.channel.nio.AbstractNioChannel$1 io.netty.channel.nio.AbstractNioChannel$2 io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1 io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$2 io.netty.channel.nio.AbstractNioChannel$NioUnsafe
InnerClasses:
public abstract Unsafe = io.netty.channel.Channel$Unsafe of io.netty.channel.Channel
io.netty.channel.nio.AbstractNioChannel$1
io.netty.channel.nio.AbstractNioChannel$2
protected abstract AbstractNioUnsafe = io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe of io.netty.channel.nio.AbstractNioChannel
public abstract NioUnsafe = io.netty.channel.nio.AbstractNioChannel$NioUnsafe of io.netty.channel.nio.AbstractNioChannel