public class io.netty.handler.flush.FlushConsolidationHandler extends io.netty.channel.ChannelDuplexHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.flush.FlushConsolidationHandler
super_class: io.netty.channel.ChannelDuplexHandler
{
private final int explicitFlushAfterFlushes;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean consolidateWhenNoReadInProgress;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable flushTask;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int flushPendingCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean readInProgress;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private io.netty.channel.ChannelHandlerContext ctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.Future<?> nextScheduledFlush;
descriptor: Ljava/util/concurrent/Future;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/concurrent/Future<*>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
sipush 256
iconst_0
invokespecial io.netty.handler.flush.FlushConsolidationHandler.<init>:(IZ)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
iconst_0
invokespecial io.netty.handler.flush.FlushConsolidationHandler.<init>:(IZ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 2 1 explicitFlushAfterFlushes I
MethodParameters:
Name Flags
explicitFlushAfterFlushes
public void <init>(int, boolean);
descriptor: (IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial io.netty.channel.ChannelDuplexHandler.<init>:()V
1: iload 1
ifgt 5
2: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "explicitFlushAfterFlushes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: 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;
4: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: io.netty.handler.flush.FlushConsolidationHandler int int
StackMap stack:
aload 0
iload 1
putfield io.netty.handler.flush.FlushConsolidationHandler.explicitFlushAfterFlushes:I
6: aload 0
iload 2
putfield io.netty.handler.flush.FlushConsolidationHandler.consolidateWhenNoReadInProgress:Z
7: aload 0
iload 2
ifeq 10
8: new io.netty.handler.flush.FlushConsolidationHandler$1
dup
aload 0
invokespecial io.netty.handler.flush.FlushConsolidationHandler$1.<init>:(Lio/netty/handler/flush/FlushConsolidationHandler;)V
9: goto 11
10: StackMap locals:
StackMap stack: io.netty.handler.flush.FlushConsolidationHandler
aconst_null
11: StackMap locals: io.netty.handler.flush.FlushConsolidationHandler int int
StackMap stack: io.netty.handler.flush.FlushConsolidationHandler io.netty.handler.flush.FlushConsolidationHandler$1
putfield io.netty.handler.flush.FlushConsolidationHandler.flushTask:Ljava/lang/Runnable;
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 13 1 explicitFlushAfterFlushes I
0 13 2 consolidateWhenNoReadInProgress Z
MethodParameters:
Name Flags
explicitFlushAfterFlushes
consolidateWhenNoReadInProgress
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.flush.FlushConsolidationHandler.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/flush/FlushConsolidationHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void flush(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.flush.FlushConsolidationHandler.readInProgress:Z
ifeq 4
1: aload 0
dup
getfield io.netty.handler.flush.FlushConsolidationHandler.flushPendingCount:I
iconst_1
iadd
dup_x1
putfield io.netty.handler.flush.FlushConsolidationHandler.flushPendingCount:I
aload 0
getfield io.netty.handler.flush.FlushConsolidationHandler.explicitFlushAfterFlushes:I
if_icmpne 11
2: aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.flushNow:(Lio/netty/channel/ChannelHandlerContext;)V
3: goto 11
StackMap locals:
StackMap stack:
4: aload 0
getfield io.netty.handler.flush.FlushConsolidationHandler.consolidateWhenNoReadInProgress:Z
ifeq 10
5: aload 0
dup
getfield io.netty.handler.flush.FlushConsolidationHandler.flushPendingCount:I
iconst_1
iadd
dup_x1
putfield io.netty.handler.flush.FlushConsolidationHandler.flushPendingCount:I
aload 0
getfield io.netty.handler.flush.FlushConsolidationHandler.explicitFlushAfterFlushes:I
if_icmpne 8
6: aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.flushNow:(Lio/netty/channel/ChannelHandlerContext;)V
7: goto 11
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.scheduleFlush:(Lio/netty/channel/ChannelHandlerContext;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.flushNow:(Lio/netty/channel/ChannelHandlerContext;)V
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 12 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void channelReadComplete(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.flush.FlushConsolidationHandler.resetReadAndFlushIfNeeded:(Lio/netty/channel/ChannelHandlerContext;)V
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelReadComplete:()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/flush/FlushConsolidationHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void channelRead(io.netty.channel.ChannelHandlerContext, java.lang.Object);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield io.netty.handler.flush.FlushConsolidationHandler.readInProgress:Z
1: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 msg Ljava/lang/Object;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
msg
public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.resetReadAndFlushIfNeeded:(Lio/netty/channel/ChannelHandlerContext;)V
1: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 cause Ljava/lang/Throwable;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
cause
public void disconnect(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.resetReadAndFlushIfNeeded:(Lio/netty/channel/ChannelHandlerContext;)V
1: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.disconnect:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 promise Lio/netty/channel/ChannelPromise;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
promise
public void close(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.resetReadAndFlushIfNeeded:(Lio/netty/channel/ChannelHandlerContext;)V
1: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.close:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 3 2 promise Lio/netty/channel/ChannelPromise;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
promise
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
ifne 2
1: aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.flushIfNeeded:(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/flush/FlushConsolidationHandler;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void handlerRemoved(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.flush.FlushConsolidationHandler.flushIfNeeded:(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/flush/FlushConsolidationHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
private void resetReadAndFlushIfNeeded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield io.netty.handler.flush.FlushConsolidationHandler.readInProgress:Z
1: aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.flushIfNeeded:(Lio/netty/channel/ChannelHandlerContext;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
private void flushIfNeeded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.flush.FlushConsolidationHandler.flushPendingCount:I
ifle 2
1: aload 0
aload 1
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.flushNow:(Lio/netty/channel/ChannelHandlerContext;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
private void flushNow(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.handler.flush.FlushConsolidationHandler.cancelScheduledFlush:()V
1: aload 0
iconst_0
putfield io.netty.handler.flush.FlushConsolidationHandler.flushPendingCount:I
2: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.flush:()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/flush/FlushConsolidationHandler;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
private void scheduleFlush(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.flush.FlushConsolidationHandler.nextScheduledFlush:Ljava/util/concurrent/Future;
ifnonnull 2
1: aload 0
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.eventLoop:()Lio/netty/channel/EventLoop;
aload 0
getfield io.netty.handler.flush.FlushConsolidationHandler.flushTask:Ljava/lang/Runnable;
invokeinterface io.netty.channel.EventLoop.submit:(Ljava/lang/Runnable;)Lio/netty/util/concurrent/Future;
putfield io.netty.handler.flush.FlushConsolidationHandler.nextScheduledFlush:Ljava/util/concurrent/Future;
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx final
private void cancelScheduledFlush();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.flush.FlushConsolidationHandler.nextScheduledFlush:Ljava/util/concurrent/Future;
ifnull 3
1: aload 0
getfield io.netty.handler.flush.FlushConsolidationHandler.nextScheduledFlush:Ljava/util/concurrent/Future;
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
2: aload 0
aconst_null
putfield io.netty.handler.flush.FlushConsolidationHandler.nextScheduledFlush:Ljava/util/concurrent/Future;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/flush/FlushConsolidationHandler;
}
SourceFile: "FlushConsolidationHandler.java"
NestMembers:
io.netty.handler.flush.FlushConsolidationHandler$1
InnerClasses:
io.netty.handler.flush.FlushConsolidationHandler$1