final class io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask extends io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceInTask
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask
super_class: io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceInTask
{
private final io.netty.channel.unix.FileDescriptor fd;
descriptor: Lio/netty/channel/unix/FileDescriptor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.channel.ChannelPromise promise;
descriptor: Lio/netty/channel/ChannelPromise;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int offset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final io.netty.channel.epoll.AbstractEpollStreamChannel this$0;
descriptor: Lio/netty/channel/epoll/AbstractEpollStreamChannel;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
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=1, locals=0, args_size=0
0: ldc Lio/netty/channel/epoll/AbstractEpollStreamChannel;
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.epoll.AbstractEpollStreamChannel$SpliceFdTask.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.netty.channel.epoll.AbstractEpollStreamChannel, io.netty.channel.unix.FileDescriptor, int, int, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/epoll/AbstractEpollStreamChannel;Lio/netty/channel/unix/FileDescriptor;IILio/netty/channel/ChannelPromise;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=6
start local 0 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
putfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.this$0:Lio/netty/channel/epoll/AbstractEpollStreamChannel;
1: aload 0
aload 1
iload 4
aload 5
invokespecial io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceInTask.<init>:(Lio/netty/channel/epoll/AbstractEpollStreamChannel;ILio/netty/channel/ChannelPromise;)V
2: aload 0
aload 2
putfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.fd:Lio/netty/channel/unix/FileDescriptor;
3: aload 0
aload 5
putfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.promise:Lio/netty/channel/ChannelPromise;
4: aload 0
iload 3
putfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.offset:I
5: return
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/channel/epoll/AbstractEpollStreamChannel$SpliceFdTask;
0 6 2 fd Lio/netty/channel/unix/FileDescriptor;
0 6 3 offset I
0 6 4 len I
0 6 5 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
this$0 final
fd
offset
len
promise
public boolean spliceIn(io.netty.channel.RecvByteBufAllocator$Handle);
descriptor: (Lio/netty/channel/RecvByteBufAllocator$Handle;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=8, args_size=2
start local 0 start local 1 0: getstatic io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.this$0:Lio/netty/channel/epoll/AbstractEpollStreamChannel;
invokevirtual io.netty.channel.epoll.AbstractEpollStreamChannel.eventLoop:()Lio/netty/channel/EventLoop;
invokeinterface io.netty.channel.EventLoop.inEventLoop:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.len:I
ifne 4
2: aload 0
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.promise:Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
pop
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
invokestatic io.netty.channel.unix.FileDescriptor.pipe:()[Lio/netty/channel/unix/FileDescriptor;
astore 2
start local 2 5: aload 2
iconst_0
aaload
astore 3
start local 3 6: aload 2
iconst_1
aaload
astore 4
start local 4 7: aload 0
aload 4
aload 1
invokevirtual io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.spliceIn:(Lio/netty/channel/unix/FileDescriptor;Lio/netty/channel/RecvByteBufAllocator$Handle;)I
istore 5
start local 5 8: iload 5
ifle 20
9: aload 0
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.len:I
ldc 2147483647
if_icmpeq 11
10: aload 0
dup
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.len:I
iload 5
isub
putfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.len:I
11: StackMap locals: io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask io.netty.channel.RecvByteBufAllocator$Handle io.netty.channel.unix.FileDescriptor[] io.netty.channel.unix.FileDescriptor io.netty.channel.unix.FileDescriptor int
StackMap stack:
aload 3
invokevirtual io.netty.channel.unix.FileDescriptor.intValue:()I
ldc -1
aload 0
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.fd:Lio/netty/channel/unix/FileDescriptor;
invokevirtual io.netty.channel.unix.FileDescriptor.intValue:()I
aload 0
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.offset:I
i2l
iload 5
i2l
invokestatic io.netty.channel.epoll.Native.splice:(IJIJJ)I
istore 6
start local 6 12: iload 5
iload 6
isub
istore 5
end local 6 13: iload 5
14: ifgt 11
15: aload 0
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.len:I
ifne 20
16: aload 0
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.promise:Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelPromise.setSuccess:()Lio/netty/channel/ChannelPromise;
pop
17: aload 3
invokestatic io.netty.channel.epoll.AbstractEpollStreamChannel.safeClosePipe:(Lio/netty/channel/unix/FileDescriptor;)V
18: aload 4
invokestatic io.netty.channel.epoll.AbstractEpollStreamChannel.safeClosePipe:(Lio/netty/channel/unix/FileDescriptor;)V
19: iconst_1
ireturn
20: StackMap locals:
StackMap stack:
aload 3
invokestatic io.netty.channel.epoll.AbstractEpollStreamChannel.safeClosePipe:(Lio/netty/channel/unix/FileDescriptor;)V
21: aload 4
invokestatic io.netty.channel.epoll.AbstractEpollStreamChannel.safeClosePipe:(Lio/netty/channel/unix/FileDescriptor;)V
22: iconst_0
ireturn
end local 5 23: StackMap locals: io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask io.netty.channel.RecvByteBufAllocator$Handle io.netty.channel.unix.FileDescriptor[] io.netty.channel.unix.FileDescriptor io.netty.channel.unix.FileDescriptor
StackMap stack: java.lang.Throwable
astore 7
24: aload 3
invokestatic io.netty.channel.epoll.AbstractEpollStreamChannel.safeClosePipe:(Lio/netty/channel/unix/FileDescriptor;)V
25: aload 4
invokestatic io.netty.channel.epoll.AbstractEpollStreamChannel.safeClosePipe:(Lio/netty/channel/unix/FileDescriptor;)V
26: aload 7
athrow
end local 4 end local 3 end local 2 27: StackMap locals: io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask io.netty.channel.RecvByteBufAllocator$Handle
StackMap stack: java.lang.Throwable
astore 2
start local 2 28: aload 0
getfield io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask.promise:Lio/netty/channel/ChannelPromise;
aload 2
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
29: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lio/netty/channel/epoll/AbstractEpollStreamChannel$SpliceFdTask;
0 30 1 handle Lio/netty/channel/RecvByteBufAllocator$Handle;
5 27 2 pipe [Lio/netty/channel/unix/FileDescriptor;
6 27 3 pipeIn Lio/netty/channel/unix/FileDescriptor;
7 27 4 pipeOut Lio/netty/channel/unix/FileDescriptor;
8 23 5 splicedIn I
12 13 6 splicedOut I
28 30 2 cause Ljava/lang/Throwable;
Exception table:
from to target type
7 17 23 any
4 19 27 Class java.lang.Throwable
20 22 27 Class java.lang.Throwable
23 27 27 Class java.lang.Throwable
MethodParameters:
Name Flags
handle
}
SourceFile: "AbstractEpollStreamChannel.java"
NestHost: io.netty.channel.epoll.AbstractEpollStreamChannel
InnerClasses:
public abstract Handle = io.netty.channel.RecvByteBufAllocator$Handle of io.netty.channel.RecvByteBufAllocator
private final SpliceFdTask = io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceFdTask of io.netty.channel.epoll.AbstractEpollStreamChannel
protected abstract SpliceInTask = io.netty.channel.epoll.AbstractEpollStreamChannel$SpliceInTask of io.netty.channel.epoll.AbstractEpollStreamChannel