public class org.apache.cassandra.repair.StreamingRepairTask implements java.lang.Runnable, org.apache.cassandra.streaming.StreamEventHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.repair.StreamingRepairTask
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.apache.cassandra.repair.RepairJobDesc desc;
    descriptor: Lorg/apache/cassandra/repair/RepairJobDesc;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.repair.messages.SyncRequest request;
    descriptor: Lorg/apache/cassandra/repair/messages/SyncRequest;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final long repairedAt;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 41
            ldc Lorg/apache/cassandra/repair/StreamingRepairTask;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.repair.StreamingRepairTask.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.repair.RepairJobDesc, org.apache.cassandra.repair.messages.SyncRequest, long);
    descriptor: (Lorg/apache/cassandra/repair/RepairJobDesc;Lorg/apache/cassandra/repair/messages/SyncRequest;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // org.apache.cassandra.repair.StreamingRepairTask this
        start local 1 // org.apache.cassandra.repair.RepairJobDesc desc
        start local 2 // org.apache.cassandra.repair.messages.SyncRequest request
        start local 3 // long repairedAt
         0: .line 47
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            aload 0 /* this */
            aload 1 /* desc */
            putfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
         2: .line 50
            aload 0 /* this */
            aload 2 /* request */
            putfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
         3: .line 51
            aload 0 /* this */
            lload 3 /* repairedAt */
            putfield org.apache.cassandra.repair.StreamingRepairTask.repairedAt:J
         4: .line 52
            return
        end local 3 // long repairedAt
        end local 2 // org.apache.cassandra.repair.messages.SyncRequest request
        end local 1 // org.apache.cassandra.repair.RepairJobDesc desc
        end local 0 // org.apache.cassandra.repair.StreamingRepairTask this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/cassandra/repair/StreamingRepairTask;
            0    5     1        desc  Lorg/apache/cassandra/repair/RepairJobDesc;
            0    5     2     request  Lorg/apache/cassandra/repair/messages/SyncRequest;
            0    5     3  repairedAt  J
    MethodParameters:
            Name  Flags
      desc        
      request     
      repairedAt  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=5, args_size=1
        start local 0 // org.apache.cassandra.repair.StreamingRepairTask this
         0: .line 56
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.dst:Ljava/net/InetAddress;
            astore 1 /* dest */
        start local 1 // java.net.InetAddress dest
         1: .line 57
            aload 1 /* dest */
            invokestatic org.apache.cassandra.db.SystemKeyspace.getPreferredIP:(Ljava/net/InetAddress;)Ljava/net/InetAddress;
            astore 2 /* preferred */
        start local 2 // java.net.InetAddress preferred
         2: .line 58
            getstatic org.apache.cassandra.repair.StreamingRepairTask.logger:Lorg/slf4j/Logger;
            ldc "[streaming task #{}] Performing streaming repair of {} ranges with {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.sessionId:Ljava/util/UUID;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.ranges:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.dst:Ljava/net/InetAddress;
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 59
            iconst_0
            istore 3 /* isIncremental */
        start local 3 // boolean isIncremental
         4: .line 60
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            ifnull 7
         5: .line 62
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.service.ActiveRepairService.getParentRepairSession:(Ljava/util/UUID;)Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;
            astore 4 /* prs */
        start local 4 // org.apache.cassandra.service.ActiveRepairService$ParentRepairSession prs
         6: .line 63
            aload 4 /* prs */
            getfield org.apache.cassandra.service.ActiveRepairService$ParentRepairSession.isIncremental:Z
            istore 3 /* isIncremental */
        end local 4 // org.apache.cassandra.service.ActiveRepairService$ParentRepairSession prs
         7: .line 65
      StackMap locals: java.net.InetAddress java.net.InetAddress int
      StackMap stack:
            new org.apache.cassandra.streaming.StreamPlan
            dup
            ldc "Repair"
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.repairedAt:J
            iconst_1
            iconst_0
            iload 3 /* isIncremental */
            iconst_0
            invokespecial org.apache.cassandra.streaming.StreamPlan.<init>:(Ljava/lang/String;JIZZZ)V
            aload 0 /* this */
            iconst_0
            anewarray org.apache.cassandra.streaming.StreamEventHandler
            invokevirtual org.apache.cassandra.streaming.StreamPlan.listeners:(Lorg/apache/cassandra/streaming/StreamEventHandler;[Lorg/apache/cassandra/streaming/StreamEventHandler;)Lorg/apache/cassandra/streaming/StreamPlan;
         8: .line 66
            iconst_1
            invokevirtual org.apache.cassandra.streaming.StreamPlan.flushBeforeTransfer:(Z)Lorg/apache/cassandra/streaming/StreamPlan;
         9: .line 68
            aload 1 /* dest */
            aload 2 /* preferred */
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.keyspace:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.ranges:Ljava/util/Collection;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.columnFamily:Ljava/lang/String;
            aastore
            invokevirtual org.apache.cassandra.streaming.StreamPlan.requestRanges:(Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
        10: .line 70
            aload 1 /* dest */
            aload 2 /* preferred */
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.keyspace:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.ranges:Ljava/util/Collection;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.columnFamily:Ljava/lang/String;
            aastore
            invokevirtual org.apache.cassandra.streaming.StreamPlan.transferRanges:(Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
        11: .line 71
            invokevirtual org.apache.cassandra.streaming.StreamPlan.execute:()Lorg/apache/cassandra/streaming/StreamResultFuture;
            pop
        12: .line 72
            return
        end local 3 // boolean isIncremental
        end local 2 // java.net.InetAddress preferred
        end local 1 // java.net.InetAddress dest
        end local 0 // org.apache.cassandra.repair.StreamingRepairTask this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/apache/cassandra/repair/StreamingRepairTask;
            1   13     1           dest  Ljava/net/InetAddress;
            2   13     2      preferred  Ljava/net/InetAddress;
            4   13     3  isIncremental  Z
            6    7     4            prs  Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;

  public void handleStreamEvent(org.apache.cassandra.streaming.StreamEvent);
    descriptor: (Lorg/apache/cassandra/streaming/StreamEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.apache.cassandra.repair.StreamingRepairTask this
        start local 1 // org.apache.cassandra.streaming.StreamEvent event
         0: .line 78
            return
        end local 1 // org.apache.cassandra.streaming.StreamEvent event
        end local 0 // org.apache.cassandra.repair.StreamingRepairTask this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/cassandra/repair/StreamingRepairTask;
            0    1     1  event  Lorg/apache/cassandra/streaming/StreamEvent;
    MethodParameters:
       Name  Flags
      event  

  public void onSuccess(org.apache.cassandra.streaming.StreamState);
    descriptor: (Lorg/apache/cassandra/streaming/StreamState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.cassandra.repair.StreamingRepairTask this
        start local 1 // org.apache.cassandra.streaming.StreamState state
         0: .line 85
            getstatic org.apache.cassandra.repair.StreamingRepairTask.logger:Lorg/slf4j/Logger;
            ldc "[repair #{}] streaming task succeed, returning response to {}"
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.sessionId:Ljava/util/UUID;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.initiator:Ljava/net/InetAddress;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 86
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            new org.apache.cassandra.repair.messages.SyncComplete
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.src:Ljava/net/InetAddress;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.dst:Ljava/net/InetAddress;
            iconst_1
            invokespecial org.apache.cassandra.repair.messages.SyncComplete.<init>:(Lorg/apache/cassandra/repair/RepairJobDesc;Ljava/net/InetAddress;Ljava/net/InetAddress;Z)V
            invokevirtual org.apache.cassandra.repair.messages.SyncComplete.createMessage:()Lorg/apache/cassandra/net/MessageOut;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.initiator:Ljava/net/InetAddress;
            invokevirtual org.apache.cassandra.net.MessagingService.sendOneWay:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;)V
         2: .line 87
            return
        end local 1 // org.apache.cassandra.streaming.StreamState state
        end local 0 // org.apache.cassandra.repair.StreamingRepairTask this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/cassandra/repair/StreamingRepairTask;
            0    3     1  state  Lorg/apache/cassandra/streaming/StreamState;
    MethodParameters:
       Name  Flags
      state  

  public void onFailure(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.apache.cassandra.repair.StreamingRepairTask this
        start local 1 // java.lang.Throwable t
         0: .line 94
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            new org.apache.cassandra.repair.messages.SyncComplete
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.src:Ljava/net/InetAddress;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.dst:Ljava/net/InetAddress;
            iconst_0
            invokespecial org.apache.cassandra.repair.messages.SyncComplete.<init>:(Lorg/apache/cassandra/repair/RepairJobDesc;Ljava/net/InetAddress;Ljava/net/InetAddress;Z)V
            invokevirtual org.apache.cassandra.repair.messages.SyncComplete.createMessage:()Lorg/apache/cassandra/net/MessageOut;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.StreamingRepairTask.request:Lorg/apache/cassandra/repair/messages/SyncRequest;
            getfield org.apache.cassandra.repair.messages.SyncRequest.initiator:Ljava/net/InetAddress;
            invokevirtual org.apache.cassandra.net.MessagingService.sendOneWay:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;)V
         1: .line 95
            return
        end local 1 // java.lang.Throwable t
        end local 0 // org.apache.cassandra.repair.StreamingRepairTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/repair/StreamingRepairTask;
            0    2     1     t  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      t     

  public void onSuccess(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.apache.cassandra.streaming.StreamState
            invokevirtual org.apache.cassandra.repair.StreamingRepairTask.onSuccess:(Lorg/apache/cassandra/streaming/StreamState;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "StreamingRepairTask.java"
InnerClasses:
  public ParentRepairSession = org.apache.cassandra.service.ActiveRepairService$ParentRepairSession of org.apache.cassandra.service.ActiveRepairService