public abstract class io.vertx.core.eventbus.impl.HandlerRegistration<T> implements io.vertx.core.Closeable
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.vertx.core.eventbus.impl.HandlerRegistration
super_class: java.lang.Object
{
private static final io.vertx.core.impl.logging.Logger log;
descriptor: Lio/vertx/core/impl/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public final io.vertx.core.impl.ContextInternal context;
descriptor: Lio/vertx/core/impl/ContextInternal;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final io.vertx.core.eventbus.impl.EventBusImpl bus;
descriptor: Lio/vertx/core/eventbus/impl/EventBusImpl;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final java.lang.String address;
descriptor: Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final boolean src;
descriptor: Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private io.vertx.core.eventbus.impl.HandlerHolder<T> registered;
descriptor: Lio/vertx/core/eventbus/impl/HandlerHolder;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
private java.lang.Object metric;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/core/eventbus/impl/HandlerRegistration;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.core.eventbus.impl.HandlerRegistration.log:Lio/vertx/core/impl/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.vertx.core.impl.ContextInternal, io.vertx.core.eventbus.impl.EventBusImpl, java.lang.String, boolean);
descriptor: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/eventbus/impl/EventBusImpl;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.core.eventbus.impl.HandlerRegistration.context:Lio/vertx/core/impl/ContextInternal;
2: aload 0
aload 2
putfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
3: aload 0
iload 4
putfield io.vertx.core.eventbus.impl.HandlerRegistration.src:Z
4: aload 0
aload 3
putfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 6 1 context Lio/vertx/core/impl/ContextInternal;
0 6 2 bus Lio/vertx/core/eventbus/impl/EventBusImpl;
0 6 3 address Ljava/lang/String;
0 6 4 src Z
MethodParameters:
Name Flags
context
bus
address
src
void receive(io.vertx.core.eventbus.impl.MessageImpl);
descriptor: (Lio/vertx/core/eventbus/impl/MessageImpl;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 2
1: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isLocal:()Z
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.scheduleMessage:(Ljava/lang/Object;Z)V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.context:Lio/vertx/core/impl/ContextInternal;
invokeinterface io.vertx.core.impl.ContextInternal.nettyEventLoop:()Lio/netty/channel/EventLoop;
aload 0
aload 1
invokedynamic run(Lio/vertx/core/eventbus/impl/HandlerRegistration;Lio/vertx/core/eventbus/impl/MessageImpl;)Ljava/lang/Runnable;
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:
()V
io/vertx/core/eventbus/impl/HandlerRegistration.lambda$0(Lio/vertx/core/eventbus/impl/MessageImpl;)V (7)
()V
invokeinterface io.netty.channel.EventLoop.execute:(Ljava/lang/Runnable;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 4 1 msg Lio/vertx/core/eventbus/impl/MessageImpl;
MethodParameters:
Name Flags
msg
protected abstract boolean doReceive(io.vertx.core.eventbus.Message<T>);
descriptor: (Lio/vertx/core/eventbus/Message;)Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Lio/vertx/core/eventbus/Message<TT;>;)Z
MethodParameters:
Name Flags
msg
protected abstract void dispatch(io.vertx.core.eventbus.Message<T>, io.vertx.core.impl.ContextInternal, io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>>);
descriptor: (Lio/vertx/core/eventbus/Message;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: (Lio/vertx/core/eventbus/Message<TT;>;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;)V
MethodParameters:
Name Flags
msg
context
handler
synchronized void register(java.lang.String, boolean, io.vertx.core.Promise<java.lang.Void>);
descriptor: (Ljava/lang/String;ZLio/vertx/core/Promise;)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
ifnull 2
1: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
aload 0
aload 1
ifnull 3
iconst_1
goto 4
StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration java.lang.String int io.vertx.core.Promise
StackMap stack: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.eventbus.impl.EventBusImpl java.lang.String io.vertx.core.eventbus.impl.HandlerRegistration
3: iconst_0
StackMap locals: io.vertx.core.eventbus.impl.HandlerRegistration java.lang.String int io.vertx.core.Promise
StackMap stack: io.vertx.core.eventbus.impl.HandlerRegistration io.vertx.core.eventbus.impl.EventBusImpl java.lang.String io.vertx.core.eventbus.impl.HandlerRegistration int
4: iload 2
aload 3
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.addRegistration:(Ljava/lang/String;Lio/vertx/core/eventbus/impl/HandlerRegistration;ZZLio/vertx/core/Promise;)Lio/vertx/core/eventbus/impl/HandlerHolder;
putfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
5: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 7
6: aload 0
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
aload 1
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.handlerRegistered:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
putfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 8 1 repliedAddress Ljava/lang/String;
0 8 2 localOnly Z
0 8 3 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
Signature: (Ljava/lang/String;ZLio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
repliedAddress
localOnly
promise
public synchronized boolean isRegistered();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
public io.vertx.core.Future<java.lang.Void> unregister();
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.eventbus.impl.HandlerRegistration.context:Lio/vertx/core/impl/ContextInternal;
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 1
start local 1 1: aload 0
dup
astore 2
monitorenter
2: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
ifnull 9
3: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
aload 1
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.removeRegistration:(Lio/vertx/core/eventbus/impl/HandlerHolder;Lio/vertx/core/Promise;)V
4: aload 0
aconst_null
putfield io.vertx.core.eventbus.impl.HandlerRegistration.registered:Lio/vertx/core/eventbus/impl/HandlerHolder;
5: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 10
6: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.handlerUnregistered:(Ljava/lang/Object;)V
7: aload 0
aconst_null
putfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
8: goto 10
9: StackMap locals: io.vertx.core.Promise io.vertx.core.eventbus.impl.HandlerRegistration
StackMap stack:
aload 1
invokeinterface io.vertx.core.Promise.complete:()V
10: StackMap locals:
StackMap stack:
aload 2
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 2
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
1 15 1 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
Exception table:
from to target type
2 11 12 any
12 13 12 any
Signature: ()Lio/vertx/core/Future<Ljava/lang/Void;>;
public void unregister(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.unregister:()Lio/vertx/core/Future;
astore 2
start local 2 1: aload 1
ifnull 3
2: aload 2
aload 1
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
3: StackMap locals: io.vertx.core.Future
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 4 1 completionHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
1 4 2 fut Lio/vertx/core/Future<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
completionHandler
void dispatch(io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>>, io.vertx.core.eventbus.Message<T>, io.vertx.core.impl.ContextInternal);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/eventbus/Message;Lio/vertx/core/impl/ContextInternal;)V
flags: (0x0000)
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext
dup
aload 0
aload 2
checkcast io.vertx.core.eventbus.impl.MessageImpl
aload 1
aload 3
invokespecial io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext.<init>:(Lio/vertx/core/eventbus/impl/HandlerRegistration;Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/Handler;Lio/vertx/core/impl/ContextInternal;)V
astore 4
start local 4 1: aload 3
aload 4
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic run(Lio/vertx/core/eventbus/impl/HandlerRegistration$InboundDeliveryContext;)Ljava/lang/Runnable;
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:
()V
io/vertx/core/eventbus/impl/HandlerRegistration$InboundDeliveryContext.dispatch()V (5)
()V
invokeinterface io.vertx.core.impl.ContextInternal.dispatch:(Ljava/lang/Runnable;)V
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 3 1 theHandler Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
0 3 2 message Lio/vertx/core/eventbus/Message<TT;>;
0 3 3 context Lio/vertx/core/impl/ContextInternal;
1 3 4 deliveryCtx Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>.InboundDeliveryContext;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;Lio/vertx/core/eventbus/Message<TT;>;Lio/vertx/core/impl/ContextInternal;)V
MethodParameters:
Name Flags
theHandler
message
context
void discard(io.vertx.core.eventbus.Message<T>);
descriptor: (Lio/vertx/core/eventbus/Message;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 2
1: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
aload 1
checkcast io.vertx.core.eventbus.impl.MessageImpl
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isLocal:()Z
aload 1
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.discardMessage:(Ljava/lang/Object;ZLio/vertx/core/eventbus/Message;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 3 1 msg Lio/vertx/core/eventbus/Message<TT;>;
Signature: (Lio/vertx/core/eventbus/Message<TT;>;)V
MethodParameters:
Name Flags
msg
public void close(io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.unregister:(Lio/vertx/core/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 2 1 completion Lio/vertx/core/Promise<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
completion
private void lambda$0(io.vertx.core.eventbus.impl.MessageImpl);
descriptor: (Lio/vertx/core/eventbus/impl/MessageImpl;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 0: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.doReceive:(Lio/vertx/core/eventbus/Message;)Z
ifne 2
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 2
1: aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.bus:Lio/vertx/core/eventbus/impl/EventBusImpl;
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 0
getfield io.vertx.core.eventbus.impl.HandlerRegistration.metric:Ljava/lang/Object;
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isLocal:()Z
aload 1
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.discardMessage:(Ljava/lang/Object;ZLio/vertx/core/eventbus/Message;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;Lio/vertx/core/Closeable;
SourceFile: "HandlerRegistration.java"
NestMembers:
io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext
InnerClasses:
private InboundDeliveryContext = io.vertx.core.eventbus.impl.HandlerRegistration$InboundDeliveryContext of io.vertx.core.eventbus.impl.HandlerRegistration
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles