class io.vertx.core.impl.VertxImpl$InternalTimerHandler implements io.vertx.core.Handler<java.lang.Void>, io.vertx.core.Closeable, java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.core.impl.VertxImpl$InternalTimerHandler
super_class: java.lang.Object
{
private final io.vertx.core.Handler<java.lang.Long> handler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/vertx/core/Handler<Ljava/lang/Long;>;
private final boolean periodic;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long timerID;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.impl.ContextInternal context;
descriptor: Lio/vertx/core/impl/ContextInternal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.Future<?> future;
descriptor: Ljava/util/concurrent/Future;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/Future<*>;
final io.vertx.core.impl.VertxImpl this$0;
descriptor: Lio/vertx/core/impl/VertxImpl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(long, io.vertx.core.Handler<java.lang.Long>, boolean, long, io.vertx.core.impl.ContextInternal);
descriptor: (Lio/vertx/core/impl/VertxImpl;JLio/vertx/core/Handler;ZJLio/vertx/core/impl/ContextInternal;)V
flags: (0x0000)
Code:
stack=8, locals=10, args_size=7
start local 0 start local 2 start local 4 start local 5 start local 6 start local 8 0: aload 0
aload 1
putfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 8
putfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.context:Lio/vertx/core/impl/ContextInternal;
2: aload 0
lload 2
putfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
3: aload 0
aload 4
putfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.handler:Lio/vertx/core/Handler;
4: aload 0
iload 5
putfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.periodic:Z
5: aload 8
invokeinterface io.vertx.core.impl.ContextInternal.nettyEventLoop:()Lio/netty/channel/EventLoop;
astore 9
start local 9 6: iload 5
ifeq 9
7: aload 0
aload 9
aload 0
lload 6
lload 6
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface io.netty.channel.EventLoop.scheduleAtFixedRate:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/ScheduledFuture;
putfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.future:Ljava/util/concurrent/Future;
8: goto 10
9: StackMap locals: io.vertx.core.impl.VertxImpl$InternalTimerHandler io.vertx.core.impl.VertxImpl long io.vertx.core.Handler int long io.vertx.core.impl.ContextInternal io.netty.channel.EventLoop
StackMap stack:
aload 0
aload 9
aload 0
lload 6
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface io.netty.channel.EventLoop.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/ScheduledFuture;
putfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.future:Ljava/util/concurrent/Future;
10: StackMap locals:
StackMap stack:
return
end local 9 end local 8 end local 6 end local 5 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
0 11 2 timerID J
0 11 4 runnable Lio/vertx/core/Handler<Ljava/lang/Long;>;
0 11 5 periodic Z
0 11 6 delay J
0 11 8 context Lio/vertx/core/impl/ContextInternal;
6 11 9 el Lio/netty/channel/EventLoop;
Signature: (JLio/vertx/core/Handler<Ljava/lang/Long;>;ZJLio/vertx/core/impl/ContextInternal;)V
MethodParameters:
Name Flags
this$0 final
timerID
runnable
periodic
delay
context
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.context:Lio/vertx/core/impl/ContextInternal;
aload 0
invokeinterface io.vertx.core.impl.ContextInternal.emit:(Lio/vertx/core/Handler;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
public void handle(java.lang.Void);
descriptor: (Ljava/lang/Void;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.periodic:Z
ifeq 4
1: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.timeouts:Ljava/util/concurrent/ConcurrentMap;
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.concurrent.ConcurrentMap.containsKey:(Ljava/lang/Object;)Z
ifeq 11
2: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.handler:Lio/vertx/core/Handler;
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
3: goto 11
StackMap locals:
StackMap stack:
4: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.timeouts:Ljava/util/concurrent/ConcurrentMap;
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 11
5: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.handler:Lio/vertx/core/Handler;
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
8: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.context:Lio/vertx/core/impl/ContextInternal;
aload 0
invokeinterface io.vertx.core.impl.ContextInternal.removeCloseHook:(Lio/vertx/core/Closeable;)V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.context:Lio/vertx/core/impl/ContextInternal;
aload 0
invokeinterface io.vertx.core.impl.ContextInternal.removeCloseHook:(Lio/vertx/core/Closeable;)V
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
0 12 1 v Ljava/lang/Void;
Exception table:
from to target type
5 7 7 any
MethodParameters:
Name Flags
v
private void cancel();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.future:Ljava/util/concurrent/Future;
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
1: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.context:Lio/vertx/core/impl/ContextInternal;
invokeinterface io.vertx.core.impl.ContextInternal.isDeployment:()Z
ifeq 3
2: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.context:Lio/vertx/core/impl/ContextInternal;
aload 0
invokeinterface io.vertx.core.impl.ContextInternal.removeCloseHook:(Lio/vertx/core/Closeable;)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
public void close(io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.timeouts:Ljava/util/concurrent/ConcurrentMap;
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 2
1: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.future:Ljava/util/concurrent/Future;
iconst_0
invokeinterface java.util.concurrent.Future.cancel:(Z)Z
pop
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.core.Promise.complete:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
0 4 1 completion Lio/vertx/core/Promise<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
completion
public void handle(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast java.lang.Void
invokevirtual io.vertx.core.impl.VertxImpl$InternalTimerHandler.handle:(Ljava/lang/Void;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Ljava/lang/Void;>;Lio/vertx/core/Closeable;Ljava/lang/Runnable;
SourceFile: "VertxImpl.java"
NestHost: io.vertx.core.impl.VertxImpl
InnerClasses:
private InternalTimerHandler = io.vertx.core.impl.VertxImpl$InternalTimerHandler of io.vertx.core.impl.VertxImpl