public abstract class reactor.util.retry.Retry
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: reactor.util.retry.Retry
  super_class: java.lang.Object
{
  public final reactor.util.context.ContextView retryContext;
    descriptor: Lreactor/util/context/ContextView;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // reactor.util.retry.Retry this
         0: .line 55
            aload 0 /* this */
            invokestatic reactor.util.context.Context.empty:()Lreactor/util/context/Context;
            invokespecial reactor.util.retry.Retry.<init>:(Lreactor/util/context/ContextView;)V
         1: .line 56
            return
        end local 0 // reactor.util.retry.Retry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lreactor/util/retry/Retry;

  protected void <init>(reactor.util.context.ContextView);
    descriptor: (Lreactor/util/context/ContextView;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // reactor.util.retry.Retry this
        start local 1 // reactor.util.context.ContextView retryContext
         0: .line 58
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            aload 1 /* retryContext */
            putfield reactor.util.retry.Retry.retryContext:Lreactor/util/context/ContextView;
         2: .line 60
            return
        end local 1 // reactor.util.context.ContextView retryContext
        end local 0 // reactor.util.retry.Retry this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lreactor/util/retry/Retry;
            0    3     1  retryContext  Lreactor/util/context/ContextView;
    MethodParameters:
              Name  Flags
      retryContext  

  public abstract org.reactivestreams.Publisher<?> generateCompanion(reactor.core.publisher.Flux<reactor.util.retry.Retry$RetrySignal>);
    descriptor: (Lreactor/core/publisher/Flux;)Lorg/reactivestreams/Publisher;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lreactor/core/publisher/Flux<Lreactor/util/retry/Retry$RetrySignal;>;)Lorg/reactivestreams/Publisher<*>;
    MethodParameters:
              Name  Flags
      retrySignals  

  public reactor.util.context.ContextView retryContext();
    descriptor: ()Lreactor/util/context/ContextView;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // reactor.util.retry.Retry this
         0: .line 81
            aload 0 /* this */
            getfield reactor.util.retry.Retry.retryContext:Lreactor/util/context/ContextView;
            areturn
        end local 0 // reactor.util.retry.Retry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lreactor/util/retry/Retry;

  public static reactor.util.retry.RetryBackoffSpec backoff(long, java.time.Duration);
    descriptor: (JLjava/time/Duration;)Lreactor/util/retry/RetryBackoffSpec;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=17, locals=3, args_size=2
        start local 0 // long maxAttempts
        start local 2 // java.time.Duration minBackoff
         0: .line 153
            new reactor.util.retry.RetryBackoffSpec
            dup
            invokestatic reactor.util.context.Context.empty:()Lreactor/util/context/Context;
            lload 0 /* maxAttempts */
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  reactor/util/retry/Retry.lambda$0(Ljava/lang/Throwable;)Z (6)
                  (Ljava/lang/Throwable;)Z
            iconst_0
            aload 2 /* minBackoff */
            getstatic reactor.util.retry.RetrySpec.MAX_BACKOFF:Ljava/time/Duration;
            ldc 0.5
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  reactor/core/scheduler/Schedulers.parallel()Lreactor/core/scheduler/Scheduler; (6)
                  ()Lreactor/core/scheduler/Scheduler;
         1: .line 154
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
         2: .line 155
            getstatic reactor.util.retry.RetryBackoffSpec.BACKOFF_EXCEPTION_GENERATOR:Ljava/util/function/BiFunction;
         3: .line 153
            invokespecial reactor.util.retry.RetryBackoffSpec.<init>:(Lreactor/util/context/ContextView;JLjava/util/function/Predicate;ZLjava/time/Duration;Ljava/time/Duration;DLjava/util/function/Supplier;Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;)V
            areturn
        end local 2 // java.time.Duration minBackoff
        end local 0 // long maxAttempts
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  maxAttempts  J
            0    4     2   minBackoff  Ljava/time/Duration;
    MethodParameters:
             Name  Flags
      maxAttempts  
      minBackoff   

  public static reactor.util.retry.RetryBackoffSpec fixedDelay(long, java.time.Duration);
    descriptor: (JLjava/time/Duration;)Lreactor/util/retry/RetryBackoffSpec;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=17, locals=3, args_size=2
        start local 0 // long maxAttempts
        start local 2 // java.time.Duration fixedDelay
         0: .line 175
            new reactor.util.retry.RetryBackoffSpec
            dup
            invokestatic reactor.util.context.Context.empty:()Lreactor/util/context/Context;
            lload 0 /* maxAttempts */
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  reactor/util/retry/Retry.lambda$2(Ljava/lang/Throwable;)Z (6)
                  (Ljava/lang/Throwable;)Z
            iconst_0
            aload 2 /* fixedDelay */
            aload 2 /* fixedDelay */
            dconst_0
            invokedynamic get()Ljava/util/function/Supplier;
              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;
                  reactor/core/scheduler/Schedulers.parallel()Lreactor/core/scheduler/Scheduler; (6)
                  ()Lreactor/core/scheduler/Scheduler;
         1: .line 176
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
         2: .line 177
            getstatic reactor.util.retry.RetryBackoffSpec.BACKOFF_EXCEPTION_GENERATOR:Ljava/util/function/BiFunction;
         3: .line 175
            invokespecial reactor.util.retry.RetryBackoffSpec.<init>:(Lreactor/util/context/ContextView;JLjava/util/function/Predicate;ZLjava/time/Duration;Ljava/time/Duration;DLjava/util/function/Supplier;Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;)V
            areturn
        end local 2 // java.time.Duration fixedDelay
        end local 0 // long maxAttempts
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0  maxAttempts  J
            0    4     2   fixedDelay  Ljava/time/Duration;
    MethodParameters:
             Name  Flags
      maxAttempts  
      fixedDelay   

  public static reactor.util.retry.RetrySpec max(long);
    descriptor: (J)Lreactor/util/retry/RetrySpec;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=2, args_size=1
        start local 0 // long max
         0: .line 190
            new reactor.util.retry.RetrySpec
            dup
            invokestatic reactor.util.context.Context.empty:()Lreactor/util/context/Context;
            lload 0 /* max */
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  reactor/util/retry/Retry.lambda$4(Ljava/lang/Throwable;)Z (6)
                  (Ljava/lang/Throwable;)Z
            iconst_0
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
         1: .line 191
            getstatic reactor.util.retry.RetrySpec.RETRY_EXCEPTION_GENERATOR:Ljava/util/function/BiFunction;
         2: .line 190
            invokespecial reactor.util.retry.RetrySpec.<init>:(Lreactor/util/context/ContextView;JLjava/util/function/Predicate;ZLjava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;)V
            areturn
        end local 0 // long max
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0   max  J
    MethodParameters:
      Name  Flags
      max   

  public static reactor.util.retry.RetrySpec maxInARow(long);
    descriptor: (J)Lreactor/util/retry/RetrySpec;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=2, args_size=1
        start local 0 // long maxInARow
         0: .line 207
            new reactor.util.retry.RetrySpec
            dup
            invokestatic reactor.util.context.Context.empty:()Lreactor/util/context/Context;
            lload 0 /* maxInARow */
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  reactor/util/retry/Retry.lambda$5(Ljava/lang/Throwable;)Z (6)
                  (Ljava/lang/Throwable;)Z
            iconst_1
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
         1: .line 208
            getstatic reactor.util.retry.RetrySpec.RETRY_EXCEPTION_GENERATOR:Ljava/util/function/BiFunction;
         2: .line 207
            invokespecial reactor.util.retry.RetrySpec.<init>:(Lreactor/util/context/ContextView;JLjava/util/function/Predicate;ZLjava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;)V
            areturn
        end local 0 // long maxInARow
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  maxInARow  J
    MethodParameters:
           Name  Flags
      maxInARow  

  public static reactor.util.retry.RetrySpec indefinitely();
    descriptor: ()Lreactor/util/retry/RetrySpec;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=12, locals=0, args_size=0
         0: .line 218
            new reactor.util.retry.RetrySpec
            dup
            invokestatic reactor.util.context.Context.empty:()Lreactor/util/context/Context;
            ldc 9223372036854775807
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  reactor/util/retry/Retry.lambda$6(Ljava/lang/Throwable;)Z (6)
                  (Ljava/lang/Throwable;)Z
            iconst_0
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_CONSUMER:Ljava/util/function/Consumer;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
            getstatic reactor.util.retry.RetrySpec.NO_OP_BIFUNCTION:Ljava/util/function/BiFunction;
         1: .line 219
            getstatic reactor.util.retry.RetrySpec.RETRY_EXCEPTION_GENERATOR:Ljava/util/function/BiFunction;
         2: .line 218
            invokespecial reactor.util.retry.RetrySpec.<init>:(Lreactor/util/context/ContextView;JLjava/util/function/Predicate;ZLjava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static final reactor.util.retry.Retry from(java.util.function.Function<reactor.core.publisher.Flux<reactor.util.retry.Retry$RetrySignal>, ? extends org.reactivestreams.Publisher<?>>);
    descriptor: (Ljava/util/function/Function;)Lreactor/util/retry/Retry;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.function.Function function
         0: .line 229
            new reactor.util.retry.Retry$1
            dup
            invokestatic reactor.util.context.Context.empty:()Lreactor/util/context/Context;
            aload 0 /* function */
            invokespecial reactor.util.retry.Retry$1.<init>:(Lreactor/util/context/ContextView;Ljava/util/function/Function;)V
            areturn
        end local 0 // java.util.function.Function function
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  function  Ljava/util/function/Function<Lreactor/core/publisher/Flux<Lreactor/util/retry/Retry$RetrySignal;>;+Lorg/reactivestreams/Publisher<*>;>;
    Signature: (Ljava/util/function/Function<Lreactor/core/publisher/Flux<Lreactor/util/retry/Retry$RetrySignal;>;+Lorg/reactivestreams/Publisher<*>;>;)Lreactor/util/retry/Retry;
    MethodParameters:
          Name  Flags
      function  

  public static final reactor.util.retry.Retry withThrowable(java.util.function.Function<reactor.core.publisher.Flux<java.lang.Throwable>, ? extends org.reactivestreams.Publisher<?>>);
    descriptor: (Ljava/util/function/Function;)Lreactor/util/retry/Retry;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.function.Function function
         0: .line 245
            new reactor.util.retry.Retry$2
            dup
            invokestatic reactor.util.context.Context.empty:()Lreactor/util/context/Context;
            aload 0 /* function */
            invokespecial reactor.util.retry.Retry$2.<init>:(Lreactor/util/context/ContextView;Ljava/util/function/Function;)V
            areturn
        end local 0 // java.util.function.Function function
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  function  Ljava/util/function/Function<Lreactor/core/publisher/Flux<Ljava/lang/Throwable;>;+Lorg/reactivestreams/Publisher<*>;>;
    Signature: (Ljava/util/function/Function<Lreactor/core/publisher/Flux<Ljava/lang/Throwable;>;+Lorg/reactivestreams/Publisher<*>;>;)Lreactor/util/retry/Retry;
    MethodParameters:
          Name  Flags
      function  

  private static boolean lambda$0(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 153
            iconst_1
            ireturn
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;

  private static boolean lambda$2(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 175
            iconst_1
            ireturn
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;

  private static boolean lambda$4(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 190
            iconst_1
            ireturn
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;

  private static boolean lambda$5(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 207
            iconst_1
            ireturn
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;

  private static boolean lambda$6(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable t
         0: .line 218
            iconst_1
            ireturn
        end local 0 // java.lang.Throwable t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/Throwable;
}
SourceFile: "Retry.java"
NestMembers:
  reactor.util.retry.Retry$1  reactor.util.retry.Retry$2  reactor.util.retry.Retry$RetrySignal
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  reactor.util.retry.Retry$1
  reactor.util.retry.Retry$2
  public abstract RetrySignal = reactor.util.retry.Retry$RetrySignal of reactor.util.retry.Retry