public final class io.netty.channel.PendingWriteQueue
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.netty.channel.PendingWriteQueue
super_class: java.lang.Object
{
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 int PENDING_WRITE_OVERHEAD;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.netty.channel.ChannelHandlerContext ctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.channel.PendingBytesTracker tracker;
descriptor: Lio/netty/channel/PendingBytesTracker;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private io.netty.channel.PendingWriteQueue$PendingWrite head;
descriptor: Lio/netty/channel/PendingWriteQueue$PendingWrite;
flags: (0x0002) ACC_PRIVATE
private io.netty.channel.PendingWriteQueue$PendingWrite tail;
descriptor: Lio/netty/channel/PendingWriteQueue$PendingWrite;
flags: (0x0002) ACC_PRIVATE
private int size;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long bytes;
descriptor: J
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=2, locals=0, args_size=0
0: ldc Lio/netty/channel/PendingWriteQueue;
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.PendingWriteQueue.$assertionsDisabled:Z
3: ldc Lio/netty/channel/PendingWriteQueue;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
putstatic io.netty.channel.PendingWriteQueue.logger:Lio/netty/util/internal/logging/InternalLogger;
4: ldc "io.netty.transport.pendingWriteSizeOverhead"
bipush 64
invokestatic io.netty.util.internal.SystemPropertyUtil.getInt:(Ljava/lang/String;I)I
5: putstatic io.netty.channel.PendingWriteQueue.PENDING_WRITE_OVERHEAD:I
6: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokestatic io.netty.channel.PendingBytesTracker.newTracker:(Lio/netty/channel/Channel;)Lio/netty/channel/PendingBytesTracker;
putfield io.netty.channel.PendingWriteQueue.tracker:Lio/netty/channel/PendingBytesTracker;
2: aload 0
aload 1
putfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/PendingWriteQueue;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.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.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
ifnonnull 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/PendingWriteQueue;
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.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.PendingWriteQueue.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/PendingWriteQueue;
public long bytes();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.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.PendingWriteQueue.bytes:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/PendingWriteQueue;
private int size(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.PendingWriteQueue.tracker:Lio/netty/channel/PendingBytesTracker;
aload 1
invokevirtual io.netty.channel.PendingBytesTracker.size:(Ljava/lang/Object;)I
istore 2
start local 2 1: iload 2
ifge 3
2: iconst_0
istore 2
3: StackMap locals: int
StackMap stack:
iload 2
getstatic io.netty.channel.PendingWriteQueue.PENDING_WRITE_OVERHEAD:I
iadd
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/channel/PendingWriteQueue;
0 4 1 msg Ljava/lang/Object;
1 4 2 messageSize I
MethodParameters:
Name Flags
msg
public void add(java.lang.Object, io.netty.channel.ChannelPromise);
descriptor: (Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "msg"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 2
ifnonnull 5
4: new java.lang.NullPointerException
dup
ldc "promise"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.channel.PendingWriteQueue.size:(Ljava/lang/Object;)I
istore 3
start local 3 6: aload 1
iload 3
aload 2
invokestatic io.netty.channel.PendingWriteQueue$PendingWrite.newInstance:(Ljava/lang/Object;ILio/netty/channel/ChannelPromise;)Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 4
start local 4 7: aload 0
getfield io.netty.channel.PendingWriteQueue.tail:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 5
start local 5 8: aload 5
ifnonnull 11
9: aload 0
aload 0
aload 4
dup_x1
putfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
putfield io.netty.channel.PendingWriteQueue.tail:Lio/netty/channel/PendingWriteQueue$PendingWrite;
10: goto 13
11: StackMap locals: int io.netty.channel.PendingWriteQueue$PendingWrite io.netty.channel.PendingWriteQueue$PendingWrite
StackMap stack:
aload 5
aload 4
putfield io.netty.channel.PendingWriteQueue$PendingWrite.next:Lio/netty/channel/PendingWriteQueue$PendingWrite;
12: aload 0
aload 4
putfield io.netty.channel.PendingWriteQueue.tail:Lio/netty/channel/PendingWriteQueue$PendingWrite;
13: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.netty.channel.PendingWriteQueue.size:I
iconst_1
iadd
putfield io.netty.channel.PendingWriteQueue.size:I
14: aload 0
dup
getfield io.netty.channel.PendingWriteQueue.bytes:J
iload 3
i2l
ladd
putfield io.netty.channel.PendingWriteQueue.bytes:J
15: aload 0
getfield io.netty.channel.PendingWriteQueue.tracker:Lio/netty/channel/PendingBytesTracker;
aload 4
getfield io.netty.channel.PendingWriteQueue$PendingWrite.size:J
invokevirtual io.netty.channel.PendingBytesTracker.incrementPendingOutboundBytes:(J)V
16: 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 17 0 this Lio/netty/channel/PendingWriteQueue;
0 17 1 msg Ljava/lang/Object;
0 17 2 promise Lio/netty/channel/ChannelPromise;
6 17 3 messageSize I
7 17 4 write Lio/netty/channel/PendingWriteQueue$PendingWrite;
8 17 5 currentTail Lio/netty/channel/PendingWriteQueue$PendingWrite;
MethodParameters:
Name Flags
msg
promise
public io.netty.channel.ChannelFuture removeAndWriteAll();
descriptor: ()Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.channel.PendingWriteQueue.isEmpty:()Z
ifeq 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
astore 1
start local 1 4: new io.netty.util.concurrent.PromiseCombiner
dup
invokespecial io.netty.util.concurrent.PromiseCombiner.<init>:()V
astore 2
start local 2 5: aload 0
getfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 3
start local 3 6: goto 21
7: StackMap locals: io.netty.channel.ChannelPromise io.netty.util.concurrent.PromiseCombiner io.netty.channel.PendingWriteQueue$PendingWrite
StackMap stack:
aload 0
aload 0
aconst_null
dup_x1
putfield io.netty.channel.PendingWriteQueue.tail:Lio/netty/channel/PendingWriteQueue$PendingWrite;
putfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
8: aload 0
iconst_0
putfield io.netty.channel.PendingWriteQueue.size:I
9: aload 0
lconst_0
putfield io.netty.channel.PendingWriteQueue.bytes:J
10: goto 19
11: StackMap locals:
StackMap stack:
aload 3
getfield io.netty.channel.PendingWriteQueue$PendingWrite.next:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 4
start local 4 12: aload 3
getfield io.netty.channel.PendingWriteQueue$PendingWrite.msg:Ljava/lang/Object;
astore 5
start local 5 13: aload 3
getfield io.netty.channel.PendingWriteQueue$PendingWrite.promise:Lio/netty/channel/ChannelPromise;
astore 6
start local 6 14: aload 0
aload 3
iconst_0
invokevirtual io.netty.channel.PendingWriteQueue.recycle:(Lio/netty/channel/PendingWriteQueue$PendingWrite;Z)V
15: aload 6
instanceof io.netty.channel.VoidChannelPromise
ifne 17
16: aload 2
aload 6
invokevirtual io.netty.util.concurrent.PromiseCombiner.add:(Lio/netty/util/concurrent/Promise;)V
17: StackMap locals: io.netty.channel.PendingWriteQueue$PendingWrite java.lang.Object io.netty.channel.ChannelPromise
StackMap stack:
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
aload 5
aload 6
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
18: aload 4
astore 3
end local 6 end local 5 end local 4 19: StackMap locals:
StackMap stack:
aload 3
ifnonnull 11
20: aload 0
getfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 3
StackMap locals:
StackMap stack:
21: aload 3
ifnonnull 7
end local 3 22: aload 2
aload 1
invokevirtual io.netty.util.concurrent.PromiseCombiner.finish:(Lio/netty/util/concurrent/Promise;)V
23: goto 26
StackMap locals: io.netty.channel.PendingWriteQueue io.netty.channel.ChannelPromise io.netty.util.concurrent.PromiseCombiner
StackMap stack: java.lang.Throwable
24: astore 3
start local 3 25: aload 1
aload 3
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
end local 3 26: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.channel.PendingWriteQueue.assertEmpty:()V
27: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lio/netty/channel/PendingWriteQueue;
4 28 1 p Lio/netty/channel/ChannelPromise;
5 28 2 combiner Lio/netty/util/concurrent/PromiseCombiner;
6 22 3 write Lio/netty/channel/PendingWriteQueue$PendingWrite;
12 19 4 next Lio/netty/channel/PendingWriteQueue$PendingWrite;
13 19 5 msg Ljava/lang/Object;
14 19 6 promise Lio/netty/channel/ChannelPromise;
25 26 3 cause Ljava/lang/Throwable;
Exception table:
from to target type
5 23 24 Class java.lang.Throwable
public void removeAndFailAll(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "cause"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 2
start local 2 4: goto 17
5: StackMap locals: io.netty.channel.PendingWriteQueue$PendingWrite
StackMap stack:
aload 0
aload 0
aconst_null
dup_x1
putfield io.netty.channel.PendingWriteQueue.tail:Lio/netty/channel/PendingWriteQueue$PendingWrite;
putfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
6: aload 0
iconst_0
putfield io.netty.channel.PendingWriteQueue.size:I
7: aload 0
lconst_0
putfield io.netty.channel.PendingWriteQueue.bytes:J
8: goto 15
9: StackMap locals:
StackMap stack:
aload 2
getfield io.netty.channel.PendingWriteQueue$PendingWrite.next:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 3
start local 3 10: aload 2
getfield io.netty.channel.PendingWriteQueue$PendingWrite.msg:Ljava/lang/Object;
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
11: aload 2
getfield io.netty.channel.PendingWriteQueue$PendingWrite.promise:Lio/netty/channel/ChannelPromise;
astore 4
start local 4 12: aload 0
aload 2
iconst_0
invokevirtual io.netty.channel.PendingWriteQueue.recycle:(Lio/netty/channel/PendingWriteQueue$PendingWrite;Z)V
13: aload 4
aload 1
invokestatic io.netty.channel.PendingWriteQueue.safeFail:(Lio/netty/channel/ChannelPromise;Ljava/lang/Throwable;)V
14: aload 3
astore 2
end local 4 end local 3 15: StackMap locals:
StackMap stack:
aload 2
ifnonnull 9
16: aload 0
getfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 2
StackMap locals:
StackMap stack:
17: aload 2
ifnonnull 5
end local 2 18: aload 0
invokevirtual io.netty.channel.PendingWriteQueue.assertEmpty:()V
19: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/netty/channel/PendingWriteQueue;
0 20 1 cause Ljava/lang/Throwable;
4 18 2 write Lio/netty/channel/PendingWriteQueue$PendingWrite;
10 15 3 next Lio/netty/channel/PendingWriteQueue$PendingWrite;
12 15 4 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
cause
public void removeAndFail(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
ifnonnull 3
2: new java.lang.NullPointerException
dup
ldc "cause"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 2
start local 2 4: aload 2
ifnonnull 6
5: return
6: StackMap locals: io.netty.channel.PendingWriteQueue$PendingWrite
StackMap stack:
aload 2
getfield io.netty.channel.PendingWriteQueue$PendingWrite.msg:Ljava/lang/Object;
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
7: aload 2
getfield io.netty.channel.PendingWriteQueue$PendingWrite.promise:Lio/netty/channel/ChannelPromise;
astore 3
start local 3 8: aload 3
aload 1
invokestatic io.netty.channel.PendingWriteQueue.safeFail:(Lio/netty/channel/ChannelPromise;Ljava/lang/Throwable;)V
9: aload 0
aload 2
iconst_1
invokevirtual io.netty.channel.PendingWriteQueue.recycle:(Lio/netty/channel/PendingWriteQueue$PendingWrite;Z)V
10: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/channel/PendingWriteQueue;
0 11 1 cause Ljava/lang/Throwable;
4 11 2 write Lio/netty/channel/PendingWriteQueue$PendingWrite;
8 11 3 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
cause
private void assertEmpty();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 2
aload 0
getfield io.netty.channel.PendingWriteQueue.tail:Lio/netty/channel/PendingWriteQueue$PendingWrite;
ifnonnull 1
aload 0
getfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
ifnonnull 1
aload 0
getfield io.netty.channel.PendingWriteQueue.size:I
ifeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/PendingWriteQueue;
public io.netty.channel.ChannelFuture removeAndWrite();
descriptor: ()Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.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.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: io.netty.channel.PendingWriteQueue$PendingWrite
StackMap stack:
aload 1
getfield io.netty.channel.PendingWriteQueue$PendingWrite.msg:Ljava/lang/Object;
astore 2
start local 2 5: aload 1
getfield io.netty.channel.PendingWriteQueue$PendingWrite.promise:Lio/netty/channel/ChannelPromise;
astore 3
start local 3 6: aload 0
aload 1
iconst_1
invokevirtual io.netty.channel.PendingWriteQueue.recycle:(Lio/netty/channel/PendingWriteQueue$PendingWrite;Z)V
7: aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
aload 2
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/channel/PendingWriteQueue;
2 8 1 write Lio/netty/channel/PendingWriteQueue$PendingWrite;
5 8 2 msg Ljava/lang/Object;
6 8 3 promise Lio/netty/channel/ChannelPromise;
public io.netty.channel.ChannelPromise remove();
descriptor: ()Lio/netty/channel/ChannelPromise;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.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.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: io.netty.channel.PendingWriteQueue$PendingWrite
StackMap stack:
aload 1
getfield io.netty.channel.PendingWriteQueue$PendingWrite.promise:Lio/netty/channel/ChannelPromise;
astore 2
start local 2 5: aload 1
getfield io.netty.channel.PendingWriteQueue$PendingWrite.msg:Ljava/lang/Object;
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
6: aload 0
aload 1
iconst_1
invokevirtual io.netty.channel.PendingWriteQueue.recycle:(Lio/netty/channel/PendingWriteQueue$PendingWrite;Z)V
7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/channel/PendingWriteQueue;
2 8 1 write Lio/netty/channel/PendingWriteQueue$PendingWrite;
5 8 2 promise Lio/netty/channel/ChannelPromise;
public java.lang.Object current();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.netty.channel.PendingWriteQueue.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.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.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: aconst_null
areturn
4: StackMap locals: io.netty.channel.PendingWriteQueue$PendingWrite
StackMap stack:
aload 1
getfield io.netty.channel.PendingWriteQueue$PendingWrite.msg:Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/channel/PendingWriteQueue;
2 5 1 write Lio/netty/channel/PendingWriteQueue$PendingWrite;
private void recycle(io.netty.channel.PendingWriteQueue$PendingWrite, boolean);
descriptor: (Lio/netty/channel/PendingWriteQueue$PendingWrite;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield io.netty.channel.PendingWriteQueue$PendingWrite.next:Lio/netty/channel/PendingWriteQueue$PendingWrite;
astore 3
start local 3 1: aload 1
getfield io.netty.channel.PendingWriteQueue$PendingWrite.size:J
lstore 4
start local 4 2: iload 2
ifeq 13
3: aload 3
ifnonnull 8
4: aload 0
aload 0
aconst_null
dup_x1
putfield io.netty.channel.PendingWriteQueue.tail:Lio/netty/channel/PendingWriteQueue$PendingWrite;
putfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
5: aload 0
iconst_0
putfield io.netty.channel.PendingWriteQueue.size:I
6: aload 0
lconst_0
putfield io.netty.channel.PendingWriteQueue.bytes:J
7: goto 13
8: StackMap locals: io.netty.channel.PendingWriteQueue$PendingWrite long
StackMap stack:
aload 0
aload 3
putfield io.netty.channel.PendingWriteQueue.head:Lio/netty/channel/PendingWriteQueue$PendingWrite;
9: aload 0
dup
getfield io.netty.channel.PendingWriteQueue.size:I
iconst_1
isub
putfield io.netty.channel.PendingWriteQueue.size:I
10: aload 0
dup
getfield io.netty.channel.PendingWriteQueue.bytes:J
lload 4
lsub
putfield io.netty.channel.PendingWriteQueue.bytes:J
11: getstatic io.netty.channel.PendingWriteQueue.$assertionsDisabled:Z
ifne 13
aload 0
getfield io.netty.channel.PendingWriteQueue.size:I
ifle 12
aload 0
getfield io.netty.channel.PendingWriteQueue.bytes:J
lconst_0
lcmp
ifge 13
StackMap locals:
StackMap stack:
12: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
aload 1
invokevirtual io.netty.channel.PendingWriteQueue$PendingWrite.recycle:()V
14: aload 0
getfield io.netty.channel.PendingWriteQueue.tracker:Lio/netty/channel/PendingBytesTracker;
lload 4
invokevirtual io.netty.channel.PendingBytesTracker.decrementPendingOutboundBytes:(J)V
15: return
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/PendingWriteQueue;
0 16 1 write Lio/netty/channel/PendingWriteQueue$PendingWrite;
0 16 2 update Z
1 16 3 next Lio/netty/channel/PendingWriteQueue$PendingWrite;
2 16 4 writeSize J
MethodParameters:
Name Flags
write
update
private static void safeFail(io.netty.channel.ChannelPromise, java.lang.Throwable);
descriptor: (Lio/netty/channel/ChannelPromise;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
instanceof io.netty.channel.VoidChannelPromise
ifne 2
aload 0
aload 1
invokeinterface io.netty.channel.ChannelPromise.tryFailure:(Ljava/lang/Throwable;)Z
ifne 2
1: getstatic io.netty.channel.PendingWriteQueue.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Failed to mark a promise as failure because it's done already: {}"
aload 0
aload 1
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 promise Lio/netty/channel/ChannelPromise;
0 3 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
promise
cause
}
SourceFile: "PendingWriteQueue.java"
NestMembers:
io.netty.channel.PendingWriteQueue$PendingWrite io.netty.channel.PendingWriteQueue$PendingWrite$1
InnerClasses:
final PendingWrite = io.netty.channel.PendingWriteQueue$PendingWrite of io.netty.channel.PendingWriteQueue