final class org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher extends org.apache.cassandra.transport.Message$Dispatcher$Flusher
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher
super_class: org.apache.cassandra.transport.Message$Dispatcher$Flusher
{
private void <init>(io.netty.channel.EventLoop);
descriptor: (Lio/netty/channel/EventLoop;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 // org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher this
start local 1 // io.netty.channel.EventLoop eventLoop
0: .line 546
aload 0 /* this */
aload 1 /* eventLoop */
invokespecial org.apache.cassandra.transport.Message$Dispatcher$Flusher.<init>:(Lio/netty/channel/EventLoop;)V
1: .line 547
return
end local 1 // io.netty.channel.EventLoop eventLoop
end local 0 // org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/transport/Message$Dispatcher$ImmediateFlusher;
0 2 1 eventLoop Lio/netty/channel/EventLoop;
MethodParameters:
Name Flags
eventLoop
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 // org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher this
0: .line 551
iconst_0
istore 1 /* doneWork */
start local 1 // boolean doneWork
1: .line 553
aload 0 /* this */
getfield org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher.scheduled:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
2: .line 555
goto 7
start local 2 // org.apache.cassandra.transport.Message$Dispatcher$FlushItem flush
3: .line 557
StackMap locals: int org.apache.cassandra.transport.Message$Dispatcher$FlushItem
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher.channels:Ljava/util/HashSet;
aload 2 /* flush */
getfield org.apache.cassandra.transport.Message$Dispatcher$FlushItem.ctx:Lio/netty/channel/ChannelHandlerContext;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
4: .line 558
aload 2 /* flush */
getfield org.apache.cassandra.transport.Message$Dispatcher$FlushItem.ctx:Lio/netty/channel/ChannelHandlerContext;
aload 2 /* flush */
getfield org.apache.cassandra.transport.Message$Dispatcher$FlushItem.response:Ljava/lang/Object;
aload 2 /* flush */
getfield org.apache.cassandra.transport.Message$Dispatcher$FlushItem.ctx:Lio/netty/channel/ChannelHandlerContext;
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
5: .line 559
aload 0 /* this */
getfield org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher.flushed:Ljava/util/List;
aload 2 /* flush */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: .line 560
iconst_1
istore 1 /* doneWork */
end local 2 // org.apache.cassandra.transport.Message$Dispatcher$FlushItem flush
7: .line 555
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher.queued:Ljava/util/concurrent/ConcurrentLinkedQueue;
invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
checkcast org.apache.cassandra.transport.Message$Dispatcher$FlushItem
dup
astore 2 /* flush */
start local 2 // org.apache.cassandra.transport.Message$Dispatcher$FlushItem flush
8: ifnonnull 3
9: .line 563
iload 1 /* doneWork */
ifeq 20
10: .line 565
aload 0 /* this */
getfield org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher.channels:Ljava/util/HashSet;
invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
astore 4
goto 13
StackMap locals: org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher int org.apache.cassandra.transport.Message$Dispatcher$FlushItem top java.util.Iterator
StackMap stack:
11: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.channel.ChannelHandlerContext
astore 3 /* channel */
start local 3 // io.netty.channel.ChannelHandlerContext channel
12: .line 566
aload 3 /* channel */
invokeinterface io.netty.channel.ChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
pop
end local 3 // io.netty.channel.ChannelHandlerContext channel
13: .line 565
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: .line 567
aload 0 /* this */
getfield org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher.flushed:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 17
StackMap locals:
StackMap stack:
15: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.transport.Message$Dispatcher$FlushItem
astore 3 /* item */
start local 3 // org.apache.cassandra.transport.Message$Dispatcher$FlushItem item
16: .line 568
aload 3 /* item */
invokevirtual org.apache.cassandra.transport.Message$Dispatcher$FlushItem.release:()V
end local 3 // org.apache.cassandra.transport.Message$Dispatcher$FlushItem item
17: .line 567
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: .line 570
aload 0 /* this */
getfield org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher.channels:Ljava/util/HashSet;
invokevirtual java.util.HashSet.clear:()V
19: .line 571
aload 0 /* this */
getfield org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher.flushed:Ljava/util/List;
invokeinterface java.util.List.clear:()V
20: .line 573
StackMap locals: org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher int org.apache.cassandra.transport.Message$Dispatcher$FlushItem
StackMap stack:
return
end local 2 // org.apache.cassandra.transport.Message$Dispatcher$FlushItem flush
end local 1 // boolean doneWork
end local 0 // org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/apache/cassandra/transport/Message$Dispatcher$ImmediateFlusher;
1 21 1 doneWork Z
3 7 2 flush Lorg/apache/cassandra/transport/Message$Dispatcher$FlushItem;
8 21 2 flush Lorg/apache/cassandra/transport/Message$Dispatcher$FlushItem;
12 13 3 channel Lio/netty/channel/ChannelHandlerContext;
16 17 3 item Lorg/apache/cassandra/transport/Message$Dispatcher$FlushItem;
}
SourceFile: "Message.java"
NestHost: org.apache.cassandra.transport.Message
InnerClasses:
public Dispatcher = org.apache.cassandra.transport.Message$Dispatcher of org.apache.cassandra.transport.Message
private FlushItem = org.apache.cassandra.transport.Message$Dispatcher$FlushItem of org.apache.cassandra.transport.Message$Dispatcher
private abstract Flusher = org.apache.cassandra.transport.Message$Dispatcher$Flusher of org.apache.cassandra.transport.Message$Dispatcher
private final ImmediateFlusher = org.apache.cassandra.transport.Message$Dispatcher$ImmediateFlusher of org.apache.cassandra.transport.Message$Dispatcher