public class org.apache.cassandra.service.BatchlogResponseHandler<T> extends org.apache.cassandra.service.AbstractWriteResponseHandler<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.service.BatchlogResponseHandler
  super_class: org.apache.cassandra.service.AbstractWriteResponseHandler
{
  org.apache.cassandra.service.AbstractWriteResponseHandler<T> wrapped;
    descriptor: Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
    flags: (0x0000) 
    Signature: Lorg/apache/cassandra/service/AbstractWriteResponseHandler<TT;>;

  org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup cleanup;
    descriptor: Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
    flags: (0x0000) 

  protected volatile int requiredBeforeFinish;
    descriptor: I
    flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<org.apache.cassandra.service.BatchlogResponseHandler> requiredBeforeFinishUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lorg/apache/cassandra/service/BatchlogResponseHandler;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 36
            ldc Lorg/apache/cassandra/service/BatchlogResponseHandler;
            ldc "requiredBeforeFinish"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         1: .line 35
            putstatic org.apache.cassandra.service.BatchlogResponseHandler.requiredBeforeFinishUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
         2: .line 36
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.service.AbstractWriteResponseHandler<T>, int, org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup, );
    descriptor: (Lorg/apache/cassandra/service/AbstractWriteResponseHandler;ILorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=5
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
        start local 1 // org.apache.cassandra.service.AbstractWriteResponseHandler wrapped
        start local 2 // int requiredBeforeFinish
        start local 3 // org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup cleanup
        start local 4 // long queryStartNanoTime
         0: .line 40
            aload 0 /* this */
            aload 1 /* wrapped */
            getfield org.apache.cassandra.service.AbstractWriteResponseHandler.keyspace:Lorg/apache/cassandra/db/Keyspace;
            aload 1 /* wrapped */
            getfield org.apache.cassandra.service.AbstractWriteResponseHandler.naturalEndpoints:Ljava/util/Collection;
            aload 1 /* wrapped */
            getfield org.apache.cassandra.service.AbstractWriteResponseHandler.pendingEndpoints:Ljava/util/Collection;
            aload 1 /* wrapped */
            getfield org.apache.cassandra.service.AbstractWriteResponseHandler.consistencyLevel:Lorg/apache/cassandra/db/ConsistencyLevel;
            aload 1 /* wrapped */
            getfield org.apache.cassandra.service.AbstractWriteResponseHandler.callback:Ljava/lang/Runnable;
            aload 1 /* wrapped */
            getfield org.apache.cassandra.service.AbstractWriteResponseHandler.writeType:Lorg/apache/cassandra/db/WriteType;
            lload 4 /* queryStartNanoTime */
            invokespecial org.apache.cassandra.service.AbstractWriteResponseHandler.<init>:(Lorg/apache/cassandra/db/Keyspace;Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)V
         1: .line 41
            aload 0 /* this */
            aload 1 /* wrapped */
            putfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
         2: .line 42
            aload 0 /* this */
            iload 2 /* requiredBeforeFinish */
            putfield org.apache.cassandra.service.BatchlogResponseHandler.requiredBeforeFinish:I
         3: .line 43
            aload 0 /* this */
            aload 3 /* cleanup */
            putfield org.apache.cassandra.service.BatchlogResponseHandler.cleanup:Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
         4: .line 44
            return
        end local 4 // long queryStartNanoTime
        end local 3 // org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup cleanup
        end local 2 // int requiredBeforeFinish
        end local 1 // org.apache.cassandra.service.AbstractWriteResponseHandler wrapped
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;
            0    5     1               wrapped  Lorg/apache/cassandra/service/AbstractWriteResponseHandler<TT;>;
            0    5     2  requiredBeforeFinish  I
            0    5     3               cleanup  Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
            0    5     4    queryStartNanoTime  J
    Signature: (Lorg/apache/cassandra/service/AbstractWriteResponseHandler<TT;>;ILorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;J)V
    MethodParameters:
                      Name  Flags
      wrapped               
      requiredBeforeFinish  
      cleanup               
      queryStartNanoTime    

  protected int ackCount();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
         0: .line 48
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.ackCount:()I
            ireturn
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;

  public void response(org.apache.cassandra.net.MessageIn<T>);
    descriptor: (Lorg/apache/cassandra/net/MessageIn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
        start local 1 // org.apache.cassandra.net.MessageIn msg
         0: .line 53
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            aload 1 /* msg */
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.response:(Lorg/apache/cassandra/net/MessageIn;)V
         1: .line 54
            getstatic org.apache.cassandra.service.BatchlogResponseHandler.requiredBeforeFinishUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.decrementAndGet:(Ljava/lang/Object;)I
            ifne 3
         2: .line 55
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.cleanup:Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
            invokevirtual org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup.ackMutation:()V
         3: .line 56
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.net.MessageIn msg
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;
            0    4     1   msg  Lorg/apache/cassandra/net/MessageIn<TT;>;
    Signature: (Lorg/apache/cassandra/net/MessageIn<TT;>;)V
    MethodParameters:
      Name  Flags
      msg   

  public boolean isLatencyForSnitch();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
         0: .line 60
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.isLatencyForSnitch:()Z
            ireturn
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;

  public void onFailure(java.net.InetAddress, org.apache.cassandra.exceptions.RequestFailureReason);
    descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/exceptions/RequestFailureReason;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
        start local 1 // java.net.InetAddress from
        start local 2 // org.apache.cassandra.exceptions.RequestFailureReason failureReason
         0: .line 65
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            aload 1 /* from */
            aload 2 /* failureReason */
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.onFailure:(Ljava/net/InetAddress;Lorg/apache/cassandra/exceptions/RequestFailureReason;)V
         1: .line 66
            return
        end local 2 // org.apache.cassandra.exceptions.RequestFailureReason failureReason
        end local 1 // java.net.InetAddress from
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;
            0    2     1           from  Ljava/net/InetAddress;
            0    2     2  failureReason  Lorg/apache/cassandra/exceptions/RequestFailureReason;
    MethodParameters:
               Name  Flags
      from           
      failureReason  

  public void assureSufficientLiveNodes();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
         0: .line 70
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.assureSufficientLiveNodes:()V
         1: .line 71
            return
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;

  public void get();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
         0: .line 75
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.get:()V
         1: .line 76
            return
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;
    Exceptions:
      throws org.apache.cassandra.exceptions.WriteTimeoutException, org.apache.cassandra.exceptions.WriteFailureException

  protected int totalBlockFor();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
         0: .line 80
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.totalBlockFor:()I
            ireturn
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;

  protected int totalEndpoints();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
         0: .line 85
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.totalEndpoints:()I
            ireturn
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;

  protected boolean waitingFor(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
        start local 1 // java.net.InetAddress from
         0: .line 90
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            aload 1 /* from */
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.waitingFor:(Ljava/net/InetAddress;)Z
            ireturn
        end local 1 // java.net.InetAddress from
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;
            0    1     1  from  Ljava/net/InetAddress;
    MethodParameters:
      Name  Flags
      from  

  protected void signal();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
         0: .line 95
            aload 0 /* this */
            getfield org.apache.cassandra.service.BatchlogResponseHandler.wrapped:Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
            invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.signal:()V
         1: .line 96
            return
        end local 0 // org.apache.cassandra.service.BatchlogResponseHandler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/service/BatchlogResponseHandler<TT;>;
}
Signature: <T:Ljava/lang/Object;>Lorg/apache/cassandra/service/AbstractWriteResponseHandler<TT;>;
SourceFile: "BatchlogResponseHandler.java"
NestMembers:
  org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup  org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanupCallback
InnerClasses:
  public BatchlogCleanup = org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup of org.apache.cassandra.service.BatchlogResponseHandler
  public abstract BatchlogCleanupCallback = org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanupCallback of org.apache.cassandra.service.BatchlogResponseHandler