class io.vertx.reactivex.impl.ObservableReadStream$Subscription implements io.reactivex.disposables.Disposable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.reactivex.impl.ObservableReadStream$Subscription
  super_class: java.lang.Object
{
  private static final int SUBSCRIBED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int DISPOSED;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private java.util.concurrent.atomic.AtomicInteger status;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0002) ACC_PRIVATE

  private final io.reactivex.Observer<? super U> observer;
    descriptor: Lio/reactivex/Observer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/reactivex/Observer<-TU;>;

  final io.vertx.reactivex.impl.ObservableReadStream this$0;
    descriptor: Lio/vertx/reactivex/impl/ObservableReadStream;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  public void <init>(io.reactivex.Observer<? super U>);
    descriptor: (Lio/vertx/reactivex/impl/ObservableReadStream;Lio/reactivex/Observer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
        start local 2 // io.reactivex.Observer observer
         0: .line 31
            aload 0 /* this */
            aload 1
            putfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.this$0:Lio/vertx/reactivex/impl/ObservableReadStream;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 29
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.status:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 32
            aload 0 /* this */
            aload 2 /* observer */
            putfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.observer:Lio/reactivex/Observer;
         3: .line 33
            return
        end local 2 // io.reactivex.Observer observer
        end local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;
            0    4     2  observer  Lio/reactivex/Observer<-TU;>;
    Signature: (Lio/reactivex/Observer<-TU;>;)V
    MethodParameters:
          Name  Flags
      this$0    final
      observer  

  private boolean cancel();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
         0: .line 36
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.status:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            istore 1 /* current */
        start local 1 // int current
         1: .line 37
            iload 1 /* current */
            iconst_2
            iand
            ifeq 3
         2: .line 38
            iconst_0
            ireturn
         3: .line 40
      StackMap locals: int
      StackMap stack:
            iload 1 /* current */
            iconst_2
            ior
            istore 2 /* next */
        start local 2 // int next
         4: .line 41
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.status:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 1 /* current */
            iload 2 /* next */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
            ifeq 0
         5: .line 42
            iload 2 /* next */
            iconst_1
            iand
            ifeq 7
         6: .line 43
            aload 0 /* this */
            invokevirtual io.vertx.reactivex.impl.ObservableReadStream$Subscription.unset:()V
         7: .line 45
      StackMap locals: int
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // int next
        end local 1 // int current
        end local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;
            1    8     1  current  I
            4    8     2     next  I

  private void set();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
         0: .line 50
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.this$0:Lio/vertx/reactivex/impl/ObservableReadStream;
            getfield io.vertx.reactivex.impl.ObservableReadStream.stream:Lio/vertx/core/streams/ReadStream;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;)Lio/vertx/core/Handler;
              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
                  io/vertx/reactivex/impl/ObservableReadStream$Subscription.lambda$0(Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.streams.ReadStream.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
            pop
         1: .line 55
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.this$0:Lio/vertx/reactivex/impl/ObservableReadStream;
            getfield io.vertx.reactivex.impl.ObservableReadStream.stream:Lio/vertx/core/streams/ReadStream;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;)Lio/vertx/core/Handler;
              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
                  io/vertx/reactivex/impl/ObservableReadStream$Subscription.lambda$1(Ljava/lang/Throwable;)V (7)
                  (Ljava/lang/Throwable;)V
            invokeinterface io.vertx.core.streams.ReadStream.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
            pop
         2: .line 60
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.this$0:Lio/vertx/reactivex/impl/ObservableReadStream;
            getfield io.vertx.reactivex.impl.ObservableReadStream.stream:Lio/vertx/core/streams/ReadStream;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;)Lio/vertx/core/Handler;
              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
                  io/vertx/reactivex/impl/ObservableReadStream$Subscription.lambda$2(Ljava/lang/Object;)V (7)
                  (Ljava/lang/Object;)V
            invokeinterface io.vertx.core.streams.ReadStream.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
            pop
         3: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.status:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            istore 1 /* current */
        start local 1 // int current
         4: .line 65
            iload 1 /* current */
            iconst_1
            ior
            istore 2 /* next */
        start local 2 // int next
         5: .line 66
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.status:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 1 /* current */
            iload 2 /* next */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
            ifeq 3
         6: .line 67
            iload 1 /* current */
            iconst_2
            iand
            ifeq 8
         7: .line 68
            aload 0 /* this */
            invokevirtual io.vertx.reactivex.impl.ObservableReadStream$Subscription.unset:()V
        end local 2 // int next
        end local 1 // int current
         8: .line 73
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;
            4    8     1  current  I
            5    8     2     next  I

  private void unset();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
         0: .line 75
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.this$0:Lio/vertx/reactivex/impl/ObservableReadStream;
            getfield io.vertx.reactivex.impl.ObservableReadStream.stream:Lio/vertx/core/streams/ReadStream;
            aconst_null
            invokeinterface io.vertx.core.streams.ReadStream.exceptionHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
            pop
         1: .line 76
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.this$0:Lio/vertx/reactivex/impl/ObservableReadStream;
            getfield io.vertx.reactivex.impl.ObservableReadStream.stream:Lio/vertx/core/streams/ReadStream;
            aconst_null
            invokeinterface io.vertx.core.streams.ReadStream.endHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
            pop
         2: .line 77
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.this$0:Lio/vertx/reactivex/impl/ObservableReadStream;
            getfield io.vertx.reactivex.impl.ObservableReadStream.stream:Lio/vertx/core/streams/ReadStream;
            aconst_null
            invokeinterface io.vertx.core.streams.ReadStream.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/streams/ReadStream;
            pop
         3: .line 78
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.this$0:Lio/vertx/reactivex/impl/ObservableReadStream;
            getfield io.vertx.reactivex.impl.ObservableReadStream.observer:Ljava/util/concurrent/atomic/AtomicReference;
            aconst_null
            invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
         4: .line 79
            return
        end local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
         0: .line 82
            aload 0 /* this */
            invokevirtual io.vertx.reactivex.impl.ObservableReadStream$Subscription.cancel:()Z
            pop
         1: .line 83
            return
        end local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;

  public boolean isDisposed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
         0: .line 86
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.status:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            iconst_2
            iand
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;

  private void lambda$0(java.lang.Void);
    descriptor: (Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
        start local 1 // java.lang.Void v
         0: .line 51
            aload 0 /* this */
            invokevirtual io.vertx.reactivex.impl.ObservableReadStream$Subscription.cancel:()Z
            ifeq 2
         1: .line 52
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.observer:Lio/reactivex/Observer;
            invokeinterface io.reactivex.Observer.onComplete:()V
         2: .line 54
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Void v
        end local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;
            0    3     1     v  Ljava/lang/Void;

  private void lambda$1(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
        start local 1 // java.lang.Throwable err
         0: .line 56
            aload 0 /* this */
            invokevirtual io.vertx.reactivex.impl.ObservableReadStream$Subscription.cancel:()Z
            ifeq 2
         1: .line 57
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.observer:Lio/reactivex/Observer;
            aload 1 /* err */
            invokeinterface io.reactivex.Observer.onError:(Ljava/lang/Throwable;)V
         2: .line 59
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable err
        end local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;
            0    3     1   err  Ljava/lang/Throwable;

  private void lambda$2(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
        start local 1 // java.lang.Object item
         0: .line 61
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.observer:Lio/reactivex/Observer;
            aload 0 /* this */
            getfield io.vertx.reactivex.impl.ObservableReadStream$Subscription.this$0:Lio/vertx/reactivex/impl/ObservableReadStream;
            getfield io.vertx.reactivex.impl.ObservableReadStream.f:Ljava/util/function/Function;
            aload 1 /* item */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            invokeinterface io.reactivex.Observer.onNext:(Ljava/lang/Object;)V
         1: .line 62
            return
        end local 1 // java.lang.Object item
        end local 0 // io.vertx.reactivex.impl.ObservableReadStream$Subscription this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/reactivex/impl/ObservableReadStream$Subscription;
            0    2     1  item  TT;
}
SourceFile: "ObservableReadStream.java"
NestHost: io.vertx.reactivex.impl.ObservableReadStream
InnerClasses:
  Subscription = io.vertx.reactivex.impl.ObservableReadStream$Subscription of io.vertx.reactivex.impl.ObservableReadStream
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles