final class org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask
  super_class: java.lang.Object
{
  private final org.apache.cassandra.hints.HintsCatalog catalog;
    descriptor: Lorg/apache/cassandra/hints/HintsCatalog;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.function.Supplier<java.util.UUID> hostIdSupplier;
    descriptor: Ljava/util/function/Supplier;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/function/Supplier<Ljava/util/UUID;>;

  final org.apache.cassandra.hints.HintsDispatchExecutor this$0;
    descriptor: Lorg/apache/cassandra/hints/HintsDispatchExecutor;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.apache.cassandra.hints.HintsCatalog, java.util.function.Supplier<java.util.UUID>);
    descriptor: (Lorg/apache/cassandra/hints/HintsDispatchExecutor;Lorg/apache/cassandra/hints/HintsCatalog;Ljava/util/function/Supplier;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask this
        start local 2 // org.apache.cassandra.hints.HintsCatalog catalog
        start local 3 // java.util.function.Supplier hostIdSupplier
         0: .line 148
            aload 0 /* this */
            aload 1
            putfield org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.this$0:Lorg/apache/cassandra/hints/HintsDispatchExecutor;
         1: .line 147
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         2: .line 149
            aload 0 /* this */
            aload 2 /* catalog */
            putfield org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.catalog:Lorg/apache/cassandra/hints/HintsCatalog;
         3: .line 150
            aload 0 /* this */
            aload 3 /* hostIdSupplier */
            putfield org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.hostIdSupplier:Ljava/util/function/Supplier;
         4: .line 151
            return
        end local 3 // java.util.function.Supplier hostIdSupplier
        end local 2 // org.apache.cassandra.hints.HintsCatalog catalog
        end local 0 // org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/apache/cassandra/hints/HintsDispatchExecutor$TransferHintsTask;
            0    5     2         catalog  Lorg/apache/cassandra/hints/HintsCatalog;
            0    5     3  hostIdSupplier  Ljava/util/function/Supplier<Ljava/util/UUID;>;
    Signature: (Lorg/apache/cassandra/hints/HintsCatalog;Ljava/util/function/Supplier<Ljava/util/UUID;>;)V
    MethodParameters:
                Name  Flags
      this$0          final
      catalog         
      hostIdSupplier  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=1
        start local 0 // org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask this
         0: .line 156
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.hostIdSupplier:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.util.UUID
            astore 1 /* hostId */
        start local 1 // java.util.UUID hostId
         1: .line 157
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            aload 1 /* hostId */
            invokevirtual org.apache.cassandra.service.StorageService.getEndpointForHostId:(Ljava/util/UUID;)Ljava/net/InetAddress;
            astore 2 /* address */
        start local 2 // java.net.InetAddress address
         2: .line 158
            getstatic org.apache.cassandra.hints.HintsDispatchExecutor.logger:Lorg/slf4j/Logger;
            ldc "Transferring all hints to {}: {}"
            aload 2 /* address */
            aload 1 /* hostId */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 159
            aload 0 /* this */
            aload 1 /* hostId */
            invokevirtual org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.transfer:(Ljava/util/UUID;)Z
            ifeq 5
         4: .line 160
            return
         5: .line 162
      StackMap locals: java.util.UUID java.net.InetAddress
      StackMap stack:
            getstatic org.apache.cassandra.hints.HintsDispatchExecutor.logger:Lorg/slf4j/Logger;
            ldc "Failed to transfer all hints to {}: {}; will retry in {} seconds"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* address */
            aastore
            dup
            iconst_1
            aload 1 /* hostId */
            aastore
            dup
            iconst_2
            bipush 10
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 166
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            ldc 10
            invokevirtual java.util.concurrent.TimeUnit.sleep:(J)V
         7: .line 167
            goto 10
         8: .line 168
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            astore 3 /* e */
        start local 3 // java.lang.InterruptedException e
         9: .line 170
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.InterruptedException e
        10: .line 173
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.hostIdSupplier:Ljava/util/function/Supplier;
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast java.util.UUID
            astore 1 /* hostId */
        11: .line 174
            getstatic org.apache.cassandra.hints.HintsDispatchExecutor.logger:Lorg/slf4j/Logger;
            ldc "Transferring all hints to {}: {}"
            aload 2 /* address */
            aload 1 /* hostId */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        12: .line 175
            aload 0 /* this */
            aload 1 /* hostId */
            invokevirtual org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.transfer:(Ljava/util/UUID;)Z
            ifne 15
        13: .line 177
            getstatic org.apache.cassandra.hints.HintsDispatchExecutor.logger:Lorg/slf4j/Logger;
            ldc "Failed to transfer all hints to {}: {}"
            aload 2 /* address */
            aload 1 /* hostId */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 178
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to transfer all hints to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* hostId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.net.InetAddress address
        end local 1 // java.util.UUID hostId
        end local 0 // org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lorg/apache/cassandra/hints/HintsDispatchExecutor$TransferHintsTask;
            1   16     1   hostId  Ljava/util/UUID;
            2   16     2  address  Ljava/net/InetAddress;
            9   10     3        e  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           6     7       8  Class java.lang.InterruptedException

  private boolean transfer(java.util.UUID);
    descriptor: (Ljava/util/UUID;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask this
        start local 1 // java.util.UUID hostId
         0: .line 184
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.catalog:Lorg/apache/cassandra/hints/HintsCatalog;
            invokevirtual org.apache.cassandra.hints.HintsCatalog.stores:()Ljava/util/stream/Stream;
         1: .line 185
            aload 0 /* this */
            aload 1 /* hostId */
            invokedynamic apply(Lorg/apache/cassandra/hints/HintsDispatchExecutor$TransferHintsTask;Ljava/util/UUID;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/apache/cassandra/hints/HintsDispatchExecutor$TransferHintsTask.lambda$0(Ljava/util/UUID;Lorg/apache/cassandra/hints/HintsStore;)Lorg/apache/cassandra/hints/HintsDispatchExecutor$DispatchHintsTask; (7)
                  (Lorg/apache/cassandra/hints/HintsStore;)Lorg/apache/cassandra/hints/HintsDispatchExecutor$DispatchHintsTask;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 186
            invokedynamic accept()Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/lang/Runnable.run()V (9 itf)
                  (Lorg/apache/cassandra/hints/HintsDispatchExecutor$DispatchHintsTask;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         3: .line 188
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.catalog:Lorg/apache/cassandra/hints/HintsCatalog;
            invokevirtual org.apache.cassandra.hints.HintsCatalog.hasFiles:()Z
            ifeq 4
            iconst_0
            goto 5
      StackMap locals:
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: ireturn
        end local 1 // java.util.UUID hostId
        end local 0 // org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/cassandra/hints/HintsDispatchExecutor$TransferHintsTask;
            0    6     1  hostId  Ljava/util/UUID;
    MethodParameters:
        Name  Flags
      hostId  

  private org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask lambda$0(java.util.UUID, org.apache.cassandra.hints.HintsStore);
    descriptor: (Ljava/util/UUID;Lorg/apache/cassandra/hints/HintsStore;)Lorg/apache/cassandra/hints/HintsDispatchExecutor$DispatchHintsTask;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask this
        start local 2 // org.apache.cassandra.hints.HintsStore store
         0: .line 185
            new org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask.this$0:Lorg/apache/cassandra/hints/HintsDispatchExecutor;
            aload 2 /* store */
            aload 1
            invokespecial org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.<init>:(Lorg/apache/cassandra/hints/HintsDispatchExecutor;Lorg/apache/cassandra/hints/HintsStore;Ljava/util/UUID;)V
            areturn
        end local 2 // org.apache.cassandra.hints.HintsStore store
        end local 0 // org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/cassandra/hints/HintsDispatchExecutor$TransferHintsTask;
            0    1     2  store  Lorg/apache/cassandra/hints/HintsStore;
}
SourceFile: "HintsDispatchExecutor.java"
NestHost: org.apache.cassandra.hints.HintsDispatchExecutor
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private final DispatchHintsTask = org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask of org.apache.cassandra.hints.HintsDispatchExecutor
  private final TransferHintsTask = org.apache.cassandra.hints.HintsDispatchExecutor$TransferHintsTask of org.apache.cassandra.hints.HintsDispatchExecutor