public class io.netty.handler.stream.ChunkedWriteHandler extends io.netty.channel.ChannelDuplexHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.stream.ChunkedWriteHandler
super_class: io.netty.channel.ChannelDuplexHandler
{
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.Queue<io.netty.handler.stream.ChunkedWriteHandler$PendingWrite> queue;
descriptor: Ljava/util/Queue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Queue<Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;>;
private volatile io.netty.channel.ChannelHandlerContext ctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private io.netty.handler.stream.ChunkedWriteHandler$PendingWrite currentWrite;
descriptor: Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/netty/handler/stream/ChunkedWriteHandler;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
1: putstatic io.netty.handler.stream.ChunkedWriteHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.channel.ChannelDuplexHandler.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.netty.handler.stream.ChunkedWriteHandler.queue:Ljava/util/Queue;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.channel.ChannelDuplexHandler.<init>:()V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.netty.handler.stream.ChunkedWriteHandler.queue:Ljava/util/Queue;
2: iload 1
ifgt 6
3: new java.lang.IllegalArgumentException
dup
4: new java.lang.StringBuilder
dup
ldc "maxPendingWrites: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " (expected: > 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: io.netty.handler.stream.ChunkedWriteHandler int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
0 7 1 maxPendingWrites I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
maxPendingWrites
public void handlerAdded(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
aload 1
putfield io.netty.handler.stream.ChunkedWriteHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void resumeTransfer();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.stream.ChunkedWriteHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: return
3: StackMap locals: io.netty.channel.ChannelHandlerContext
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifeq 6
4: aload 0
aload 1
invokevirtual io.netty.handler.stream.ChunkedWriteHandler.resumeTransfer0:(Lio/netty/channel/ChannelHandlerContext;)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
new io.netty.handler.stream.ChunkedWriteHandler$1
dup
aload 0
aload 1
invokespecial io.netty.handler.stream.ChunkedWriteHandler$1.<init>:(Lio/netty/handler/stream/ChunkedWriteHandler;Lio/netty/channel/ChannelHandlerContext;)V
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
1 8 1 ctx Lio/netty/channel/ChannelHandlerContext;
private void resumeTransfer0(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.netty.handler.stream.ChunkedWriteHandler.doFlush:(Lio/netty/channel/ChannelHandlerContext;)V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 2
start local 2 3: getstatic io.netty.handler.stream.ChunkedWriteHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isWarnEnabled:()Z
ifeq 5
4: getstatic io.netty.handler.stream.ChunkedWriteHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Unexpected exception while sending chunks."
aload 2
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
3 5 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
ctx
public void write(io.netty.channel.ChannelHandlerContext, java.lang.Object, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.stream.ChunkedWriteHandler.queue:Ljava/util/Queue;
new io.netty.handler.stream.ChunkedWriteHandler$PendingWrite
dup
aload 2
aload 3
invokespecial io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.<init>:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
pop
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 msg Ljava/lang/Object;
0 2 3 promise Lio/netty/channel/ChannelPromise;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
msg
promise
public void flush(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
aload 1
invokevirtual io.netty.handler.stream.ChunkedWriteHandler.doFlush:(Lio/netty/channel/ChannelHandlerContext;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void channelInactive(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
aload 1
invokevirtual io.netty.handler.stream.ChunkedWriteHandler.doFlush:(Lio/netty/channel/ChannelHandlerContext;)V
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelInactive:()Lio/netty/channel/ChannelHandlerContext;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void channelWritabilityChanged(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 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isWritable:()Z
ifeq 2
1: aload 0
aload 1
invokevirtual io.netty.handler.stream.ChunkedWriteHandler.doFlush:(Lio/netty/channel/ChannelHandlerContext;)V
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelWritabilityChanged:()Lio/netty/channel/ChannelHandlerContext;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
private void discard(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
astore 2
start local 2 1: aload 0
getfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
ifnonnull 4
2: aload 0
getfield io.netty.handler.stream.ChunkedWriteHandler.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast io.netty.handler.stream.ChunkedWriteHandler$PendingWrite
astore 2
3: goto 5
4: StackMap locals: io.netty.handler.stream.ChunkedWriteHandler$PendingWrite
StackMap stack:
aload 0
aconst_null
putfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
5: StackMap locals:
StackMap stack:
aload 2
ifnonnull 7
6: goto 27
7: StackMap locals:
StackMap stack:
aload 2
getfield io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.msg:Ljava/lang/Object;
astore 3
start local 3 8: aload 3
instanceof io.netty.handler.stream.ChunkedInput
ifeq 23
9: aload 3
checkcast io.netty.handler.stream.ChunkedInput
astore 4
start local 4 10: aload 4
invokeinterface io.netty.handler.stream.ChunkedInput.isEndOfInput:()Z
ifne 15
11: aload 1
ifnonnull 13
12: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
astore 1
13: StackMap locals: java.lang.Object io.netty.handler.stream.ChunkedInput
StackMap stack:
aload 2
aload 1
invokevirtual io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.fail:(Ljava/lang/Throwable;)V
14: goto 16
15: StackMap locals:
StackMap stack:
aload 2
aload 4
invokeinterface io.netty.handler.stream.ChunkedInput.length:()J
invokevirtual io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.success:(J)V
16: StackMap locals:
StackMap stack:
aload 4
invokestatic io.netty.handler.stream.ChunkedWriteHandler.closeInput:(Lio/netty/handler/stream/ChunkedInput;)V
17: goto 0
StackMap locals:
StackMap stack: java.lang.Exception
18: astore 5
start local 5 19: aload 2
aload 5
invokevirtual io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.fail:(Ljava/lang/Throwable;)V
20: getstatic io.netty.handler.stream.ChunkedWriteHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
new java.lang.StringBuilder
dup
ldc Lio/netty/handler/stream/ChunkedInput;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".isEndOfInput() failed"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
21: aload 4
invokestatic io.netty.handler.stream.ChunkedWriteHandler.closeInput:(Lio/netty/handler/stream/ChunkedInput;)V
end local 5 end local 4 22: goto 0
23: StackMap locals:
StackMap stack:
aload 1
ifnonnull 25
24: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
astore 1
25: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.fail:(Ljava/lang/Throwable;)V
end local 3 end local 2 26: goto 0
27: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
0 28 1 cause Ljava/lang/Throwable;
1 26 2 currentWrite Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
8 26 3 message Ljava/lang/Object;
10 22 4 in Lio/netty/handler/stream/ChunkedInput<*>;
19 22 5 e Ljava/lang/Exception;
Exception table:
from to target type
10 17 18 Class java.lang.Exception
MethodParameters:
Name Flags
cause
private void doFlush(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=12, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
astore 2
start local 2 1: aload 2
invokeinterface io.netty.channel.Channel.isActive:()Z
ifne 4
2: aload 0
aconst_null
invokevirtual io.netty.handler.stream.ChunkedWriteHandler.discard:(Ljava/lang/Throwable;)V
3: return
4: StackMap locals: io.netty.channel.Channel
StackMap stack:
iconst_1
istore 3
start local 3 5: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
astore 4
start local 4 6: goto 54
7: StackMap locals: int io.netty.buffer.ByteBufAllocator
StackMap stack:
aload 0
getfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
ifnonnull 9
8: aload 0
aload 0
getfield io.netty.handler.stream.ChunkedWriteHandler.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast io.netty.handler.stream.ChunkedWriteHandler$PendingWrite
putfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
9: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
ifnonnull 11
10: goto 55
11: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
astore 5
start local 5 12: aload 5
getfield io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.msg:Ljava/lang/Object;
astore 6
start local 6 13: aload 6
instanceof io.netty.handler.stream.ChunkedInput
ifeq 48
14: aload 6
checkcast io.netty.handler.stream.ChunkedInput
astore 7
start local 7 15: aconst_null
astore 10
start local 10 16: aload 7
aload 4
invokeinterface io.netty.handler.stream.ChunkedInput.readChunk:(Lio/netty/buffer/ByteBufAllocator;)Ljava/lang/Object;
astore 10
17: aload 7
invokeinterface io.netty.handler.stream.ChunkedInput.isEndOfInput:()Z
istore 8
start local 8 18: aload 10
ifnonnull 23
19: iload 8
ifeq 20
iconst_0
goto 21
StackMap locals: io.netty.handler.stream.ChunkedWriteHandler io.netty.channel.ChannelHandlerContext io.netty.channel.Channel int io.netty.buffer.ByteBufAllocator io.netty.handler.stream.ChunkedWriteHandler$PendingWrite java.lang.Object io.netty.handler.stream.ChunkedInput int top java.lang.Object
StackMap stack:
20: iconst_1
StackMap locals:
StackMap stack: int
21: istore 9
start local 9 22: goto 32
end local 9 23: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 24: goto 32
end local 9 end local 8 StackMap locals: io.netty.handler.stream.ChunkedWriteHandler io.netty.channel.ChannelHandlerContext io.netty.channel.Channel int io.netty.buffer.ByteBufAllocator io.netty.handler.stream.ChunkedWriteHandler$PendingWrite java.lang.Object io.netty.handler.stream.ChunkedInput top top java.lang.Object
StackMap stack: java.lang.Throwable
25: astore 11
start local 11 26: aload 0
aconst_null
putfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
27: aload 10
ifnull 29
28: aload 10
invokestatic io.netty.util.ReferenceCountUtil.release:(Ljava/lang/Object;)Z
pop
29: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
aload 11
invokevirtual io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.fail:(Ljava/lang/Throwable;)V
30: aload 7
invokestatic io.netty.handler.stream.ChunkedWriteHandler.closeInput:(Lio/netty/handler/stream/ChunkedInput;)V
31: goto 55
end local 11 start local 8 start local 9 32: StackMap locals: io.netty.handler.stream.ChunkedWriteHandler io.netty.channel.ChannelHandlerContext io.netty.channel.Channel int io.netty.buffer.ByteBufAllocator io.netty.handler.stream.ChunkedWriteHandler$PendingWrite java.lang.Object io.netty.handler.stream.ChunkedInput int int java.lang.Object
StackMap stack:
iload 9
ifeq 34
33: goto 55
34: StackMap locals:
StackMap stack:
aload 10
ifnonnull 36
35: getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
astore 10
36: StackMap locals:
StackMap stack:
aload 1
aload 10
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
astore 11
start local 11 37: iload 8
ifeq 41
38: aload 0
aconst_null
putfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
39: aload 11
new io.netty.handler.stream.ChunkedWriteHandler$2
dup
aload 0
aload 5
aload 7
invokespecial io.netty.handler.stream.ChunkedWriteHandler$2.<init>:(Lio/netty/handler/stream/ChunkedWriteHandler;Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;Lio/netty/handler/stream/ChunkedInput;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
40: goto 45
StackMap locals: io.netty.channel.ChannelFuture
StackMap stack:
41: aload 2
invokeinterface io.netty.channel.Channel.isWritable:()Z
ifeq 44
42: aload 11
new io.netty.handler.stream.ChunkedWriteHandler$3
dup
aload 0
aload 6
aload 5
aload 7
invokespecial io.netty.handler.stream.ChunkedWriteHandler$3.<init>:(Lio/netty/handler/stream/ChunkedWriteHandler;Ljava/lang/Object;Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;Lio/netty/handler/stream/ChunkedInput;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
43: goto 45
44: StackMap locals:
StackMap stack:
aload 11
new io.netty.handler.stream.ChunkedWriteHandler$4
dup
aload 0
aload 6
aload 5
aload 7
aload 2
invokespecial io.netty.handler.stream.ChunkedWriteHandler$4.<init>:(Lio/netty/handler/stream/ChunkedWriteHandler;Ljava/lang/Object;Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;Lio/netty/handler/stream/ChunkedInput;Lio/netty/channel/Channel;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
45: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
pop
46: iconst_0
istore 3
end local 11 end local 10 end local 9 end local 8 end local 7 47: goto 51
48: StackMap locals: io.netty.handler.stream.ChunkedWriteHandler io.netty.channel.ChannelHandlerContext io.netty.channel.Channel int io.netty.buffer.ByteBufAllocator io.netty.handler.stream.ChunkedWriteHandler$PendingWrite java.lang.Object
StackMap stack:
aload 0
aconst_null
putfield io.netty.handler.stream.ChunkedWriteHandler.currentWrite:Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
49: aload 1
aload 6
aload 5
getfield io.netty.handler.stream.ChunkedWriteHandler$PendingWrite.promise:Lio/netty/channel/ChannelPromise;
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
50: iconst_1
istore 3
51: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.netty.channel.Channel.isActive:()Z
ifne 54
52: aload 0
new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
invokevirtual io.netty.handler.stream.ChunkedWriteHandler.discard:(Ljava/lang/Throwable;)V
53: goto 55
end local 6 end local 5 54: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.netty.channel.Channel.isWritable:()Z
ifne 7
55: StackMap locals:
StackMap stack:
iload 3
ifeq 57
56: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
pop
57: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lio/netty/handler/stream/ChunkedWriteHandler;
0 58 1 ctx Lio/netty/channel/ChannelHandlerContext;
1 58 2 channel Lio/netty/channel/Channel;
5 58 3 requiresFlush Z
6 58 4 allocator Lio/netty/buffer/ByteBufAllocator;
12 54 5 currentWrite Lio/netty/handler/stream/ChunkedWriteHandler$PendingWrite;
13 54 6 pendingMessage Ljava/lang/Object;
15 47 7 chunks Lio/netty/handler/stream/ChunkedInput<*>;
18 25 8 endOfInput Z
32 47 8 endOfInput Z
22 23 9 suspend Z
24 25 9 suspend Z
32 47 9 suspend Z
16 47 10 message Ljava/lang/Object;
26 32 11 t Ljava/lang/Throwable;
37 47 11 f Lio/netty/channel/ChannelFuture;
Exception table:
from to target type
16 24 25 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx final
private static void closeInput(io.netty.handler.stream.ChunkedInput<?>);
descriptor: (Lio/netty/handler/stream/ChunkedInput;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface io.netty.handler.stream.ChunkedInput.close:()V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 1
start local 1 3: getstatic io.netty.handler.stream.ChunkedWriteHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isWarnEnabled:()Z
ifeq 5
4: getstatic io.netty.handler.stream.ChunkedWriteHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Failed to close a chunked input."
aload 1
invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 chunks Lio/netty/handler/stream/ChunkedInput<*>;
3 5 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
Signature: (Lio/netty/handler/stream/ChunkedInput<*>;)V
MethodParameters:
Name Flags
chunks
}
SourceFile: "ChunkedWriteHandler.java"
NestMembers:
io.netty.handler.stream.ChunkedWriteHandler$1 io.netty.handler.stream.ChunkedWriteHandler$2 io.netty.handler.stream.ChunkedWriteHandler$3 io.netty.handler.stream.ChunkedWriteHandler$4 io.netty.handler.stream.ChunkedWriteHandler$PendingWrite
InnerClasses:
io.netty.handler.stream.ChunkedWriteHandler$1
io.netty.handler.stream.ChunkedWriteHandler$2
io.netty.handler.stream.ChunkedWriteHandler$3
io.netty.handler.stream.ChunkedWriteHandler$4
private final PendingWrite = io.netty.handler.stream.ChunkedWriteHandler$PendingWrite of io.netty.handler.stream.ChunkedWriteHandler