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.ContextImpl context;
descriptor: Lio/vertx/core/impl/ContextImpl;
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.ContextImpl);
descriptor: (Lio/vertx/core/impl/VertxImpl;JLio/vertx/core/Handler;ZJLio/vertx/core/impl/ContextImpl;)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/ContextImpl;
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
invokevirtual io.vertx.core.impl.ContextImpl.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.ContextImpl 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:
aload 1
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
ifnull 12
11: aload 1
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
lload 2
invokeinterface io.vertx.core.spi.metrics.VertxMetrics.timerCreated:(J)V
12: 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 13 0 this Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
0 13 2 timerID J
0 13 4 runnable Lio/vertx/core/Handler<Ljava/lang/Long;>;
0 13 5 periodic Z
0 13 6 delay J
0 13 8 context Lio/vertx/core/impl/ContextImpl;
6 13 9 el Lio/netty/channel/EventLoop;
Signature: (JLio/vertx/core/Handler<Ljava/lang/Long;>;ZJLio/vertx/core/impl/ContextImpl;)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/ContextImpl;
aload 0
invokevirtual io.vertx.core.impl.ContextImpl.executeFromIO:(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=4, 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 13
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 13
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 13
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 11
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/ContextImpl;
aload 0
invokevirtual io.vertx.core.impl.ContextImpl.removeCloseHook:(Lio/vertx/core/Closeable;)Z
ifeq 10
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
ifnull 10
9: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
iconst_0
invokeinterface io.vertx.core.spi.metrics.VertxMetrics.timerEnded:(JZ)V
10: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.context:Lio/vertx/core/impl/ContextImpl;
aload 0
invokevirtual io.vertx.core.impl.ContextImpl.removeCloseHook:(Lio/vertx/core/Closeable;)Z
ifeq 13
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
ifnull 13
12: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
iconst_0
invokeinterface io.vertx.core.spi.metrics.VertxMetrics.timerEnded:(JZ)V
13: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
0 14 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=4, 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/ContextImpl;
aload 0
invokevirtual io.vertx.core.impl.ContextImpl.removeCloseHook:(Lio/vertx/core/Closeable;)Z
ifeq 3
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
ifnull 3
2: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
iconst_1
invokeinterface io.vertx.core.spi.metrics.VertxMetrics.timerEnded:(JZ)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.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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 4
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: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
ifnull 4
3: aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.this$0:Lio/vertx/core/impl/VertxImpl;
getfield io.vertx.core.impl.VertxImpl.metrics:Lio/vertx/core/spi/metrics/VertxMetrics;
aload 0
getfield io.vertx.core.impl.VertxImpl$InternalTimerHandler.timerID:J
iconst_1
invokeinterface io.vertx.core.spi.metrics.VertxMetrics.timerEnded:(JZ)V
4: StackMap locals:
StackMap stack:
aload 1
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/impl/VertxImpl$InternalTimerHandler;
0 6 1 completionHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
completionHandler
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