public class io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter implements io.vertx.core.shareddata.Counter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter
  super_class: java.lang.Object
{
  private final com.hazelcast.core.IAtomicLong atomicLong;
    descriptor: Lcom/hazelcast/core/IAtomicLong;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.Vertx vertx;
    descriptor: Lio/vertx/core/Vertx;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(io.vertx.core.Vertx, com.hazelcast.core.IAtomicLong);
    descriptor: (Lio/vertx/core/Vertx;Lcom/hazelcast/core/IAtomicLong;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // com.hazelcast.core.IAtomicLong atomicLong
         0: .line 36
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 37
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.vertx:Lio/vertx/core/Vertx;
         2: .line 38
            aload 0 /* this */
            aload 2 /* atomicLong */
            putfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.atomicLong:Lcom/hazelcast/core/IAtomicLong;
         3: .line 39
            return
        end local 2 // com.hazelcast.core.IAtomicLong atomicLong
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lio/vertx/spi/cluster/hazelcast/impl/HazelcastInternalAsyncCounter;
            0    4     1       vertx  Lio/vertx/core/Vertx;
            0    4     2  atomicLong  Lcom/hazelcast/core/IAtomicLong;
    MethodParameters:
            Name  Flags
      vertx       
      atomicLong  

  public void get(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Long>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 43
            aload 1 /* resultHandler */
            ldc "resultHandler"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 44
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.atomicLong:Lcom/hazelcast/core/IAtomicLong;
            invokeinterface com.hazelcast.core.IAtomicLong.getAsync:()Lcom/hazelcast/core/ICompletableFuture;
            aload 1 /* resultHandler */
            invokevirtual io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.executeAsync:(Lcom/hazelcast/core/ICompletableFuture;Lio/vertx/core/Handler;)V
         2: .line 45
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/spi/cluster/hazelcast/impl/HazelcastInternalAsyncCounter;
            0    3     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  public void incrementAndGet(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Long>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 49
            aload 1 /* resultHandler */
            ldc "resultHandler"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 50
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.atomicLong:Lcom/hazelcast/core/IAtomicLong;
            invokeinterface com.hazelcast.core.IAtomicLong.incrementAndGetAsync:()Lcom/hazelcast/core/ICompletableFuture;
            aload 1 /* resultHandler */
            invokevirtual io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.executeAsync:(Lcom/hazelcast/core/ICompletableFuture;Lio/vertx/core/Handler;)V
         2: .line 51
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/spi/cluster/hazelcast/impl/HazelcastInternalAsyncCounter;
            0    3     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  public void getAndIncrement(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Long>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 55
            aload 1 /* resultHandler */
            ldc "resultHandler"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 56
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.atomicLong:Lcom/hazelcast/core/IAtomicLong;
            invokeinterface com.hazelcast.core.IAtomicLong.getAndIncrementAsync:()Lcom/hazelcast/core/ICompletableFuture;
            aload 1 /* resultHandler */
            invokevirtual io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.executeAsync:(Lcom/hazelcast/core/ICompletableFuture;Lio/vertx/core/Handler;)V
         2: .line 57
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/spi/cluster/hazelcast/impl/HazelcastInternalAsyncCounter;
            0    3     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  public void decrementAndGet(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Long>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 61
            aload 1 /* resultHandler */
            ldc "resultHandler"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 62
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.atomicLong:Lcom/hazelcast/core/IAtomicLong;
            invokeinterface com.hazelcast.core.IAtomicLong.decrementAndGetAsync:()Lcom/hazelcast/core/ICompletableFuture;
            aload 1 /* resultHandler */
            invokevirtual io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.executeAsync:(Lcom/hazelcast/core/ICompletableFuture;Lio/vertx/core/Handler;)V
         2: .line 63
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/spi/cluster/hazelcast/impl/HazelcastInternalAsyncCounter;
            0    3     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  public void addAndGet(long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Long>>);
    descriptor: (JLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
        start local 1 // long value
        start local 3 // io.vertx.core.Handler resultHandler
         0: .line 67
            aload 3 /* resultHandler */
            ldc "resultHandler"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 68
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.atomicLong:Lcom/hazelcast/core/IAtomicLong;
            lload 1 /* value */
            invokeinterface com.hazelcast.core.IAtomicLong.addAndGetAsync:(J)Lcom/hazelcast/core/ICompletableFuture;
            aload 3 /* resultHandler */
            invokevirtual io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.executeAsync:(Lcom/hazelcast/core/ICompletableFuture;Lio/vertx/core/Handler;)V
         2: .line 69
            return
        end local 3 // io.vertx.core.Handler resultHandler
        end local 1 // long value
        end local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/spi/cluster/hazelcast/impl/HazelcastInternalAsyncCounter;
            0    3     1          value  J
            0    3     3  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;
    Signature: (JLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;)V
    MethodParameters:
               Name  Flags
      value          
      resultHandler  

  public void getAndAdd(long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Long>>);
    descriptor: (JLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
        start local 1 // long value
        start local 3 // io.vertx.core.Handler resultHandler
         0: .line 73
            aload 3 /* resultHandler */
            ldc "resultHandler"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 74
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.atomicLong:Lcom/hazelcast/core/IAtomicLong;
            lload 1 /* value */
            invokeinterface com.hazelcast.core.IAtomicLong.getAndAddAsync:(J)Lcom/hazelcast/core/ICompletableFuture;
            aload 3 /* resultHandler */
            invokevirtual io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.executeAsync:(Lcom/hazelcast/core/ICompletableFuture;Lio/vertx/core/Handler;)V
         2: .line 75
            return
        end local 3 // io.vertx.core.Handler resultHandler
        end local 1 // long value
        end local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/spi/cluster/hazelcast/impl/HazelcastInternalAsyncCounter;
            0    3     1          value  J
            0    3     3  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;
    Signature: (JLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Long;>;>;)V
    MethodParameters:
               Name  Flags
      value          
      resultHandler  

  public void compareAndSet(long, long, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Boolean>>);
    descriptor: (JJLio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
        start local 1 // long expected
        start local 3 // long value
        start local 5 // io.vertx.core.Handler resultHandler
         0: .line 79
            aload 5 /* resultHandler */
            ldc "resultHandler"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 80
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.atomicLong:Lcom/hazelcast/core/IAtomicLong;
            lload 1 /* expected */
            lload 3 /* value */
            invokeinterface com.hazelcast.core.IAtomicLong.compareAndSetAsync:(JJ)Lcom/hazelcast/core/ICompletableFuture;
         2: .line 81
            aload 5 /* resultHandler */
         3: .line 80
            invokevirtual io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.executeAsync:(Lcom/hazelcast/core/ICompletableFuture;Lio/vertx/core/Handler;)V
         4: .line 82
            return
        end local 5 // io.vertx.core.Handler resultHandler
        end local 3 // long value
        end local 1 // long expected
        end local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lio/vertx/spi/cluster/hazelcast/impl/HazelcastInternalAsyncCounter;
            0    5     1       expected  J
            0    5     3          value  J
            0    5     5  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Boolean;>;>;
    Signature: (JJLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Boolean;>;>;)V
    MethodParameters:
               Name  Flags
      expected       
      value          
      resultHandler  

  private <T> void executeAsync(com.hazelcast.core.ICompletableFuture<T>, io.vertx.core.Handler<io.vertx.core.AsyncResult<T>>);
    descriptor: (Lcom/hazelcast/core/ICompletableFuture;Lio/vertx/core/Handler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
        start local 1 // com.hazelcast.core.ICompletableFuture future
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 86
            aload 1 /* future */
         1: .line 87
            new io.vertx.spi.cluster.hazelcast.impl.HandlerCallBackAdapter
            dup
            aload 2 /* resultHandler */
            invokespecial io.vertx.spi.cluster.hazelcast.impl.HandlerCallBackAdapter.<init>:(Lio/vertx/core/Handler;)V
         2: .line 88
            aload 0 /* this */
            getfield io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter.vertx:Lio/vertx/core/Vertx;
            invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
            invokestatic io.vertx.spi.cluster.hazelcast.impl.VertxExecutorAdapter.getOrCreate:(Lio/vertx/core/Context;)Lio/vertx/spi/cluster/hazelcast/impl/VertxExecutorAdapter;
         3: .line 86
            invokeinterface com.hazelcast.core.ICompletableFuture.andThen:(Lcom/hazelcast/core/ExecutionCallback;Ljava/util/concurrent/Executor;)V
         4: .line 90
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // com.hazelcast.core.ICompletableFuture future
        end local 0 // io.vertx.spi.cluster.hazelcast.impl.HazelcastInternalAsyncCounter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lio/vertx/spi/cluster/hazelcast/impl/HazelcastInternalAsyncCounter;
            0    5     1         future  Lcom/hazelcast/core/ICompletableFuture<TT;>;
            0    5     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lcom/hazelcast/core/ICompletableFuture<TT;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<TT;>;>;)V
    MethodParameters:
               Name  Flags
      future         
      resultHandler  
}
SourceFile: "HazelcastInternalAsyncCounter.java"