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