public abstract class io.netty.channel.AbstractCoalescingBufferQueue
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.channel.AbstractCoalescingBufferQueue
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 final java.util.ArrayDeque<java.lang.Object> bufAndListenerPairs;
descriptor: Ljava/util/ArrayDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayDeque<Ljava/lang/Object;>;
private final io.netty.channel.PendingBytesTracker tracker;
descriptor: Lio/netty/channel/PendingBytesTracker;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int readableBytes;
descriptor: I
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=1, locals=0, args_size=0
0: ldc Lio/netty/channel/AbstractCoalescingBufferQueue;
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.AbstractCoalescingBufferQueue.$assertionsDisabled:Z
3: ldc Lio/netty/channel/AbstractCoalescingBufferQueue;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
putstatic io.netty.channel.AbstractCoalescingBufferQueue.logger:Lio/netty/util/internal/logging/InternalLogger;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(io.netty.channel.Channel, int);
descriptor: (Lio/netty/channel/Channel;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
iload 2
invokespecial java.util.ArrayDeque.<init>:(I)V
putfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
2: aload 0
aload 1
ifnonnull 3
aconst_null
goto 4
StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.channel.Channel int
StackMap stack: io.netty.channel.AbstractCoalescingBufferQueue
3: aload 1
invokestatic io.netty.channel.PendingBytesTracker.newTracker:(Lio/netty/channel/Channel;)Lio/netty/channel/PendingBytesTracker;
StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.channel.Channel int
StackMap stack: io.netty.channel.AbstractCoalescingBufferQueue io.netty.channel.PendingBytesTracker
4: putfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 6 1 channel Lio/netty/channel/Channel;
0 6 2 initSize I
MethodParameters:
Name Flags
channel
initSize
public final void addFirst(io.netty.buffer.ByteBuf, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic io.netty.channel.AbstractCoalescingBufferQueue.toChannelFutureListener:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFutureListener;
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.addFirst:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 2 1 buf Lio/netty/buffer/ByteBuf;
0 2 2 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
buf
promise
private void addFirst(io.netty.buffer.ByteBuf, io.netty.channel.ChannelFutureListener);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 2
1: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
aload 2
invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
aload 1
invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
3: aload 0
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.incrementReadableBytes:(I)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 5 1 buf Lio/netty/buffer/ByteBuf;
0 5 2 listener Lio/netty/channel/ChannelFutureListener;
MethodParameters:
Name Flags
buf
listener
public final void add(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.add:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 2 1 buf Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
buf
public final void add(io.netty.buffer.ByteBuf, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic io.netty.channel.AbstractCoalescingBufferQueue.toChannelFutureListener:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFutureListener;
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.add:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 2 1 buf Lio/netty/buffer/ByteBuf;
0 2 2 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
buf
promise
public final void add(io.netty.buffer.ByteBuf, io.netty.channel.ChannelFutureListener);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelFutureListener;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
aload 1
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
1: aload 2
ifnull 3
2: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
aload 2
invokevirtual java.util.ArrayDeque.add:(Ljava/lang/Object;)Z
pop
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.incrementReadableBytes:(I)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 5 1 buf Lio/netty/buffer/ByteBuf;
0 5 2 listener Lio/netty/channel/ChannelFutureListener;
MethodParameters:
Name Flags
buf
listener
public final io.netty.buffer.ByteBuf removeFirst(io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/buffer/ByteBuf;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.Object
StackMap stack:
getstatic io.netty.channel.AbstractCoalescingBufferQueue.$assertionsDisabled:Z
ifne 4
aload 2
instanceof io.netty.buffer.ByteBuf
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 2
checkcast io.netty.buffer.ByteBuf
astore 3
start local 3 5: aload 0
aload 3
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.decrementReadableBytes:(I)V
6: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.peek:()Ljava/lang/Object;
astore 2
7: aload 2
instanceof io.netty.channel.ChannelFutureListener
ifeq 10
8: aload 1
aload 2
checkcast io.netty.channel.ChannelFutureListener
invokeinterface io.netty.channel.ChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelPromise;
pop
9: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
pop
10: StackMap locals: io.netty.buffer.ByteBuf
StackMap stack:
aload 3
areturn
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/AbstractCoalescingBufferQueue;
0 11 1 aggregatePromise Lio/netty/channel/ChannelPromise;
1 11 2 entry Ljava/lang/Object;
5 11 3 result Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
aggregatePromise
public final io.netty.buffer.ByteBuf remove(io.netty.buffer.ByteBufAllocator, int, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/buffer/ByteBufAllocator;ILio/netty/channel/ChannelPromise;)Lio/netty/buffer/ByteBuf;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
ldc "bytes"
invokestatic io.netty.util.internal.ObjectUtil.checkPositiveOrZero:(ILjava/lang/String;)I
pop
1: aload 3
ldc "aggregatePromise"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ifeq 4
3: aload 0
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.removeEmptyValue:()Lio/netty/buffer/ByteBuf;
areturn
4: StackMap locals:
StackMap stack:
iload 2
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
invokestatic java.lang.Math.min:(II)I
istore 2
5: aconst_null
astore 4
start local 4 6: aconst_null
astore 5
start local 5 7: iload 2
istore 6
start local 6 8: StackMap locals: io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int
StackMap stack:
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
astore 7
start local 7 9: aload 7
ifnonnull 11
10: goto 35
11: StackMap locals: java.lang.Object
StackMap stack:
aload 7
instanceof io.netty.channel.ChannelFutureListener
ifeq 14
12: aload 3
aload 7
checkcast io.netty.channel.ChannelFutureListener
invokeinterface io.netty.channel.ChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelPromise;
pop
13: goto 8
14: StackMap locals:
StackMap stack:
aload 7
checkcast io.netty.buffer.ByteBuf
astore 5
15: aload 5
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 2
if_icmple 24
16: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
aload 5
invokevirtual java.util.ArrayDeque.addFirst:(Ljava/lang/Object;)V
17: iload 2
ifle 35
18: aload 5
iload 2
invokevirtual io.netty.buffer.ByteBuf.readRetainedSlice:(I)Lio/netty/buffer/ByteBuf;
astore 5
19: aload 4
ifnonnull 20
aload 0
aload 1
aload 5
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.composeFirst:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
goto 21
20: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
aload 5
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.compose:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
21: StackMap locals:
StackMap stack: io.netty.buffer.ByteBuf
astore 4
22: iconst_0
istore 2
23: goto 35
24: StackMap locals:
StackMap stack:
iload 2
aload 5
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
isub
istore 2
25: aload 4
ifnonnull 26
aload 0
aload 1
aload 5
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.composeFirst:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
goto 27
26: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
aload 5
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.compose:(Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
27: StackMap locals:
StackMap stack: io.netty.buffer.ByteBuf
astore 4
28: aconst_null
astore 5
end local 7 29: goto 8
30: StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.buffer.ByteBufAllocator int io.netty.channel.ChannelPromise io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int
StackMap stack: java.lang.Throwable
astore 7
start local 7 31: aload 5
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
32: aload 4
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
33: aload 3
aload 7
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
34: aload 7
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
end local 7 35: StackMap locals:
StackMap stack:
aload 0
iload 6
iload 2
isub
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.decrementReadableBytes:(I)V
36: aload 4
areturn
end local 6 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 37 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 37 1 alloc Lio/netty/buffer/ByteBufAllocator;
0 37 2 bytes I
0 37 3 aggregatePromise Lio/netty/channel/ChannelPromise;
6 37 4 toReturn Lio/netty/buffer/ByteBuf;
7 37 5 entryBuffer Lio/netty/buffer/ByteBuf;
8 37 6 originalBytes I
9 29 7 entry Ljava/lang/Object;
31 35 7 cause Ljava/lang/Throwable;
Exception table:
from to target type
8 30 30 Class java.lang.Throwable
MethodParameters:
Name Flags
alloc
bytes
aggregatePromise
public final int readableBytes();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
public final boolean isEmpty();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
public final void releaseAndFailAll(io.netty.channel.ChannelOutboundInvoker, java.lang.Throwable);
descriptor: (Lio/netty/channel/ChannelOutboundInvoker;Ljava/lang/Throwable;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokeinterface io.netty.channel.ChannelOutboundInvoker.newFailedFuture:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelFuture;
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.releaseAndCompleteAll:(Lio/netty/channel/ChannelFuture;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 2 1 invoker Lio/netty/channel/ChannelOutboundInvoker;
0 2 2 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
invoker
cause
public final void copyTo(io.netty.channel.AbstractCoalescingBufferQueue);
descriptor: (Lio/netty/channel/AbstractCoalescingBufferQueue;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.addAll:(Ljava/util/Collection;)Z
pop
1: aload 1
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.incrementReadableBytes:(I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 3 1 dest Lio/netty/channel/AbstractCoalescingBufferQueue;
MethodParameters:
Name Flags
dest
public final void writeAndRemoveAll(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.decrementReadableBytes:(I)V
1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: StackMap locals: java.lang.Throwable io.netty.buffer.ByteBuf
StackMap stack:
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
astore 4
start local 4 4: aload 4
ifnonnull 8
5: aload 3
ifnull 26
6: aload 1
aload 3
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.voidPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
7: goto 26
8: StackMap locals: java.lang.Object
StackMap stack:
aload 4
instanceof io.netty.buffer.ByteBuf
ifeq 13
9: aload 3
ifnull 11
10: aload 1
aload 3
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.voidPromise:()Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
11: StackMap locals:
StackMap stack:
aload 4
checkcast io.netty.buffer.ByteBuf
astore 3
12: goto 3
StackMap locals:
StackMap stack:
13: aload 4
instanceof io.netty.channel.ChannelPromise
ifeq 17
14: aload 1
aload 3
aload 4
checkcast io.netty.channel.ChannelPromise
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
15: aconst_null
astore 3
16: goto 3
17: StackMap locals:
StackMap stack:
aload 1
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
aload 4
checkcast io.netty.channel.ChannelFutureListener
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
18: aconst_null
astore 3
19: goto 3
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 5
start local 5 21: aload 2
ifnonnull 24
22: aload 5
astore 2
23: goto 3
24: StackMap locals: java.lang.Throwable
StackMap stack:
getstatic io.netty.channel.AbstractCoalescingBufferQueue.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Throwable being suppressed because Throwable {} is already pending"
aload 2
aload 5
invokeinterface io.netty.util.internal.logging.InternalLogger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 5 end local 4 25: goto 3
26: StackMap locals:
StackMap stack:
aload 2
ifnull 28
27: new java.lang.IllegalStateException
dup
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
28: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 29 1 ctx Lio/netty/channel/ChannelHandlerContext;
2 29 2 pending Ljava/lang/Throwable;
3 29 3 previousBuf Lio/netty/buffer/ByteBuf;
4 25 4 entry Ljava/lang/Object;
21 25 5 t Ljava/lang/Throwable;
Exception table:
from to target type
4 7 20 Class java.lang.Throwable
8 19 20 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
protected abstract io.netty.buffer.ByteBuf compose(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
alloc
cumulation
next
protected final io.netty.buffer.ByteBuf composeIntoComposite(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.size:()I
iconst_2
iadd
invokeinterface io.netty.buffer.ByteBufAllocator.compositeBuffer:(I)Lio/netty/buffer/CompositeByteBuf;
astore 4
start local 4 1: aload 4
iconst_1
aload 2
invokevirtual io.netty.buffer.CompositeByteBuf.addComponent:(ZLio/netty/buffer/ByteBuf;)Lio/netty/buffer/CompositeByteBuf;
pop
2: aload 4
iconst_1
aload 3
invokevirtual io.netty.buffer.CompositeByteBuf.addComponent:(ZLio/netty/buffer/ByteBuf;)Lio/netty/buffer/CompositeByteBuf;
pop
3: goto 8
StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.buffer.ByteBufAllocator io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf io.netty.buffer.CompositeByteBuf
StackMap stack: java.lang.Throwable
4: astore 5
start local 5 5: aload 4
invokevirtual io.netty.buffer.CompositeByteBuf.release:()Z
pop
6: aload 3
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
7: aload 5
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
end local 5 8: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 9 1 alloc Lio/netty/buffer/ByteBufAllocator;
0 9 2 cumulation Lio/netty/buffer/ByteBuf;
0 9 3 next Lio/netty/buffer/ByteBuf;
1 9 4 composite Lio/netty/buffer/CompositeByteBuf;
5 8 5 cause Ljava/lang/Throwable;
Exception table:
from to target type
1 3 4 Class java.lang.Throwable
MethodParameters:
Name Flags
alloc
cumulation
next
protected final io.netty.buffer.ByteBuf copyAndCompose(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
aload 3
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iadd
invokeinterface io.netty.buffer.ByteBufAllocator.ioBuffer:(I)Lio/netty/buffer/ByteBuf;
astore 4
start local 4 1: aload 4
aload 2
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
aload 3
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
pop
2: goto 7
StackMap locals: io.netty.channel.AbstractCoalescingBufferQueue io.netty.buffer.ByteBufAllocator io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf
StackMap stack: java.lang.Throwable
3: astore 5
start local 5 4: aload 4
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
5: aload 3
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
6: aload 5
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
end local 5 7: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
8: aload 3
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
9: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 10 1 alloc Lio/netty/buffer/ByteBufAllocator;
0 10 2 cumulation Lio/netty/buffer/ByteBuf;
0 10 3 next Lio/netty/buffer/ByteBuf;
1 10 4 newCumulation Lio/netty/buffer/ByteBuf;
4 7 5 cause Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
MethodParameters:
Name Flags
alloc
cumulation
next
protected io.netty.buffer.ByteBuf composeFirst(io.netty.buffer.ByteBufAllocator, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBufAllocator;Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 1 1 allocator Lio/netty/buffer/ByteBufAllocator;
0 1 2 first Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
allocator
first
protected abstract io.netty.buffer.ByteBuf removeEmptyValue();
descriptor: ()Lio/netty/buffer/ByteBuf;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected final int size();
descriptor: ()I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
private void releaseAndCompleteAll(io.netty.channel.ChannelFuture);
descriptor: (Lio/netty/channel/ChannelFuture;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
invokevirtual io.netty.channel.AbstractCoalescingBufferQueue.decrementReadableBytes:(I)V
1: aconst_null
astore 2
start local 2 2: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.bufAndListenerPairs:Ljava/util/ArrayDeque;
invokevirtual java.util.ArrayDeque.poll:()Ljava/lang/Object;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: goto 16
5: StackMap locals: java.lang.Object
StackMap stack:
aload 3
instanceof io.netty.buffer.ByteBuf
ifeq 8
6: aload 3
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
7: goto 2
8: StackMap locals:
StackMap stack:
aload 3
checkcast io.netty.channel.ChannelFutureListener
aload 1
invokeinterface io.netty.channel.ChannelFutureListener.operationComplete:(Lio/netty/util/concurrent/Future;)V
9: goto 2
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 4
start local 4 11: aload 2
ifnonnull 14
12: aload 4
astore 2
13: goto 2
14: StackMap locals: java.lang.Throwable
StackMap stack:
getstatic io.netty.channel.AbstractCoalescingBufferQueue.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Throwable being suppressed because Throwable {} is already pending"
aload 2
aload 4
invokeinterface io.netty.util.internal.logging.InternalLogger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 4 end local 3 15: goto 2
16: StackMap locals:
StackMap stack:
aload 2
ifnull 18
17: new java.lang.IllegalStateException
dup
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 19 1 future Lio/netty/channel/ChannelFuture;
2 19 2 pending Ljava/lang/Throwable;
3 15 3 entry Ljava/lang/Object;
11 15 4 t Ljava/lang/Throwable;
Exception table:
from to target type
5 9 10 Class java.lang.Throwable
MethodParameters:
Name Flags
future
private void incrementReadableBytes(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
iload 1
iadd
istore 2
start local 2 1: iload 2
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
if_icmpge 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "buffer queue length overflow: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " + "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: int
StackMap stack:
aload 0
iload 2
putfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
4: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
ifnull 6
5: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
iload 1
i2l
invokevirtual io.netty.channel.PendingBytesTracker.incrementPendingOutboundBytes:(J)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/channel/AbstractCoalescingBufferQueue;
0 7 1 increment I
1 7 2 nextReadableBytes I
MethodParameters:
Name Flags
increment
private void decrementReadableBytes(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
iload 1
isub
putfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
1: getstatic io.netty.channel.AbstractCoalescingBufferQueue.$assertionsDisabled:Z
ifne 2
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.readableBytes:I
ifge 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
ifnull 4
3: aload 0
getfield io.netty.channel.AbstractCoalescingBufferQueue.tracker:Lio/netty/channel/PendingBytesTracker;
iload 1
i2l
invokevirtual io.netty.channel.PendingBytesTracker.decrementPendingOutboundBytes:(J)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/AbstractCoalescingBufferQueue;
0 5 1 decrement I
MethodParameters:
Name Flags
decrement
private static io.netty.channel.ChannelFutureListener toChannelFutureListener(io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFutureListener;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface io.netty.channel.ChannelPromise.isVoid:()Z
ifeq 1
aconst_null
goto 2
StackMap locals:
StackMap stack:
1: new io.netty.channel.DelegatingChannelPromiseNotifier
dup
aload 0
invokespecial io.netty.channel.DelegatingChannelPromiseNotifier.<init>:(Lio/netty/channel/ChannelPromise;)V
StackMap locals:
StackMap stack: io.netty.channel.DelegatingChannelPromiseNotifier
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
promise
}
SourceFile: "AbstractCoalescingBufferQueue.java"