public class io.vertx.core.shareddata.impl.AsynchronousCounter implements io.vertx.core.shareddata.Counter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.shareddata.impl.AsynchronousCounter
super_class: java.lang.Object
{
private final io.vertx.core.impl.VertxInternal vertx;
descriptor: Lio/vertx/core/impl/VertxInternal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong counter;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(io.vertx.core.impl.VertxInternal);
descriptor: (Lio/vertx/core/impl/VertxInternal;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.core.shareddata.impl.AsynchronousCounter.vertx:Lio/vertx/core/impl/VertxInternal;
2: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield io.vertx.core.shareddata.impl.AsynchronousCounter.counter:Ljava/util/concurrent/atomic/AtomicLong;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/shareddata/impl/AsynchronousCounter;
0 4 1 vertx Lio/vertx/core/impl/VertxInternal;
MethodParameters:
Name Flags
vertx
public void <init>(io.vertx.core.impl.VertxInternal, java.util.concurrent.atomic.AtomicLong);
descriptor: (Lio/vertx/core/impl/VertxInternal;Ljava/util/concurrent/atomic/AtomicLong;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.core.shareddata.impl.AsynchronousCounter.vertx:Lio/vertx/core/impl/VertxInternal;
2: aload 0
aload 2
putfield io.vertx.core.shareddata.impl.AsynchronousCounter.counter:Ljava/util/concurrent/atomic/AtomicLong;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/shareddata/impl/AsynchronousCounter;
0 4 1 vertx Lio/vertx/core/impl/VertxInternal;
0 4 2 counter Ljava/util/concurrent/atomic/AtomicLong;
MethodParameters:
Name Flags
vertx
counter
public io.vertx.core.Future<java.lang.Long> get();
descriptor: ()Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
astore 1
start local 1 1: aload 1
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 2
start local 2 2: aload 2
aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
3: aload 2
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/shareddata/impl/AsynchronousCounter;
1 4 1 context Lio/vertx/core/impl/ContextInternal;
2 4 2 promise Lio/vertx/core/Promise<Ljava/lang/Long;>;
Signature: ()Lio/vertx/core/Future<Ljava/lang/Long;>;
public io.vertx.core.Future<java.lang.Long> incrementAndGet();
descriptor: ()Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
astore 1
start local 1 1: aload 1
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 2
start local 2 2: aload 2
aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
3: aload 2
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/shareddata/impl/AsynchronousCounter;
1 4 1 context Lio/vertx/core/impl/ContextInternal;
2 4 2 promise Lio/vertx/core/Promise<Ljava/lang/Long;>;
Signature: ()Lio/vertx/core/Future<Ljava/lang/Long;>;
public io.vertx.core.Future<java.lang.Long> getAndIncrement();
descriptor: ()Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
astore 1
start local 1 1: aload 1
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 2
start local 2 2: aload 2
aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
3: aload 2
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/shareddata/impl/AsynchronousCounter;
1 4 1 context Lio/vertx/core/impl/ContextInternal;
2 4 2 promise Lio/vertx/core/Promise<Ljava/lang/Long;>;
Signature: ()Lio/vertx/core/Future<Ljava/lang/Long;>;
public io.vertx.core.Future<java.lang.Long> decrementAndGet();
descriptor: ()Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
astore 1
start local 1 1: aload 1
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 2
start local 2 2: aload 2
aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.decrementAndGet:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
3: aload 2
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/shareddata/impl/AsynchronousCounter;
1 4 1 context Lio/vertx/core/impl/ContextInternal;
2 4 2 promise Lio/vertx/core/Promise<Ljava/lang/Long;>;
Signature: ()Lio/vertx/core/Future<Ljava/lang/Long;>;
public io.vertx.core.Future<java.lang.Long> addAndGet(long);
descriptor: (J)Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
astore 3
start local 3 1: aload 3
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 4
start local 4 2: aload 4
aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.counter:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLong.addAndGet:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
3: aload 4
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/shareddata/impl/AsynchronousCounter;
0 4 1 value J
1 4 3 context Lio/vertx/core/impl/ContextInternal;
2 4 4 promise Lio/vertx/core/Promise<Ljava/lang/Long;>;
Signature: (J)Lio/vertx/core/Future<Ljava/lang/Long;>;
MethodParameters:
Name Flags
value
public io.vertx.core.Future<java.lang.Long> getAndAdd(long);
descriptor: (J)Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
astore 3
start local 3 1: aload 3
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 4
start local 4 2: aload 4
aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.counter:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndAdd:(J)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
3: aload 4
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/shareddata/impl/AsynchronousCounter;
0 4 1 value J
1 4 3 context Lio/vertx/core/impl/ContextInternal;
2 4 4 promise Lio/vertx/core/Promise<Ljava/lang/Long;>;
Signature: (J)Lio/vertx/core/Future<Ljava/lang/Long;>;
MethodParameters:
Name Flags
value
public io.vertx.core.Future<java.lang.Boolean> compareAndSet(long, long);
descriptor: (JJ)Lio/vertx/core/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
astore 5
start local 5 1: aload 5
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 6
start local 6 2: aload 6
aload 0
getfield io.vertx.core.shareddata.impl.AsynchronousCounter.counter:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
lload 3
invokevirtual java.util.concurrent.atomic.AtomicLong.compareAndSet:(JJ)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
3: aload 6
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/shareddata/impl/AsynchronousCounter;
0 4 1 expected J
0 4 3 value J
1 4 5 context Lio/vertx/core/impl/ContextInternal;
2 4 6 promise Lio/vertx/core/Promise<Ljava/lang/Boolean;>;
Signature: (JJ)Lio/vertx/core/Future<Ljava/lang/Boolean;>;
MethodParameters:
Name Flags
expected
value
}
SourceFile: "AsynchronousCounter.java"