public class io.vertx.core.eventbus.impl.EventBusImpl implements io.vertx.core.eventbus.EventBus, io.vertx.core.spi.metrics.MetricsProvider
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.eventbus.impl.EventBusImpl
super_class: java.lang.Object
{
private static final io.vertx.core.logging.Logger log;
descriptor: Lio/vertx/core/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.List<io.vertx.core.Handler<io.vertx.core.eventbus.DeliveryContext>> sendInterceptors;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext;>;>;
private final java.util.List<io.vertx.core.Handler<io.vertx.core.eventbus.DeliveryContext>> receiveInterceptors;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext;>;>;
private final java.util.concurrent.atomic.AtomicLong replySequence;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final io.vertx.core.impl.VertxInternal vertx;
descriptor: Lio/vertx/core/impl/VertxInternal;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final io.vertx.core.spi.metrics.EventBusMetrics metrics;
descriptor: Lio/vertx/core/spi/metrics/EventBusMetrics;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final java.util.concurrent.ConcurrentMap<java.lang.String, io.vertx.core.impl.utils.ConcurrentCyclicSequence<io.vertx.core.eventbus.impl.HandlerHolder>> handlerMap;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lio/vertx/core/impl/utils/ConcurrentCyclicSequence<Lio/vertx/core/eventbus/impl/HandlerHolder;>;>;
protected final io.vertx.core.eventbus.impl.CodecManager codecManager;
descriptor: Lio/vertx/core/eventbus/impl/CodecManager;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected volatile boolean started;
descriptor: Z
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/core/eventbus/impl/EventBusImpl;
invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
putstatic io.vertx.core.eventbus.impl.EventBusImpl.log:Lio/vertx/core/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.vertx.core.impl.VertxInternal);
descriptor: (Lio/vertx/core/impl/VertxInternal;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putfield io.vertx.core.eventbus.impl.EventBusImpl.sendInterceptors:Ljava/util/List;
2: aload 0
new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putfield io.vertx.core.eventbus.impl.EventBusImpl.receiveInterceptors:Ljava/util/List;
3: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
lconst_0
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:(J)V
putfield io.vertx.core.eventbus.impl.EventBusImpl.replySequence:Ljava/util/concurrent/atomic/AtomicLong;
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield io.vertx.core.eventbus.impl.EventBusImpl.handlerMap:Ljava/util/concurrent/ConcurrentMap;
5: aload 0
new io.vertx.core.eventbus.impl.CodecManager
dup
invokespecial io.vertx.core.eventbus.impl.CodecManager.<init>:()V
putfield io.vertx.core.eventbus.impl.EventBusImpl.codecManager:Lio/vertx/core/eventbus/impl/CodecManager;
6: aload 1
invokeinterface io.vertx.core.impl.VertxInternal.metricsSPI:()Lio/vertx/core/spi/metrics/VertxMetrics;
astore 2
start local 2 7: aload 0
aload 1
putfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
8: aload 0
aload 2
ifnull 9
aload 2
invokeinterface io.vertx.core.spi.metrics.VertxMetrics.createEventBusMetrics:()Lio/vertx/core/spi/metrics/EventBusMetrics;
goto 10
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.impl.VertxInternal io.vertx.core.spi.metrics.VertxMetrics
StackMap stack: io.vertx.core.eventbus.impl.EventBusImpl
9: aconst_null
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.impl.VertxInternal io.vertx.core.spi.metrics.VertxMetrics
StackMap stack: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.spi.metrics.EventBusMetrics
10: putfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 12 1 vertx Lio/vertx/core/impl/VertxInternal;
7 12 2 metrics Lio/vertx/core/spi/metrics/VertxMetrics;
MethodParameters:
Name Flags
vertx
public <T> io.vertx.core.eventbus.EventBus addOutboundInterceptor(io.vertx.core.Handler<io.vertx.core.eventbus.DeliveryContext<T>>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.sendInterceptors:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 interceptor Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext<TT;>;>;)Lio/vertx/core/eventbus/EventBus;
MethodParameters:
Name Flags
interceptor
public <T> io.vertx.core.eventbus.EventBus addInboundInterceptor(io.vertx.core.Handler<io.vertx.core.eventbus.DeliveryContext<T>>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.receiveInterceptors:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 interceptor Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext<TT;>;>;)Lio/vertx/core/eventbus/EventBus;
MethodParameters:
Name Flags
interceptor
public <T> io.vertx.core.eventbus.EventBus removeOutboundInterceptor(io.vertx.core.Handler<io.vertx.core.eventbus.DeliveryContext<T>>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.sendInterceptors:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 interceptor Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext<TT;>;>;)Lio/vertx/core/eventbus/EventBus;
MethodParameters:
Name Flags
interceptor
public <T> io.vertx.core.eventbus.EventBus removeInboundInterceptor(io.vertx.core.Handler<io.vertx.core.eventbus.DeliveryContext<T>>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.receiveInterceptors:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 interceptor Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext<TT;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/eventbus/DeliveryContext<TT;>;>;)Lio/vertx/core/eventbus/EventBus;
MethodParameters:
Name Flags
interceptor
public synchronized void start(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.started:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Already started"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.vertx.core.eventbus.impl.EventBusImpl.started:Z
3: aload 1
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 5 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 io.vertx.core.eventbus.EventBus send(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
new io.vertx.core.eventbus.DeliveryOptions
dup
invokespecial io.vertx.core.eventbus.DeliveryOptions.<init>:()V
aconst_null
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.send:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 1 1 address Ljava/lang/String;
0 1 2 message Ljava/lang/Object;
MethodParameters:
Name Flags
address
message
public <T> io.vertx.core.eventbus.EventBus send(java.lang.String, , io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<T>>>);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
new io.vertx.core.eventbus.DeliveryOptions
dup
invokespecial io.vertx.core.eventbus.DeliveryOptions.<init>:()V
aload 3
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.send:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 1 1 address Ljava/lang/String;
0 1 2 message Ljava/lang/Object;
0 1 3 replyHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;)Lio/vertx/core/eventbus/EventBus;
MethodParameters:
Name Flags
address
message
replyHandler
public io.vertx.core.eventbus.EventBus send(java.lang.String, java.lang.Object, io.vertx.core.eventbus.DeliveryOptions);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
aconst_null
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.send:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 1 1 address Ljava/lang/String;
0 1 2 message Ljava/lang/Object;
0 1 3 options Lio/vertx/core/eventbus/DeliveryOptions;
MethodParameters:
Name Flags
address
message
options
public <T> io.vertx.core.eventbus.EventBus send(java.lang.String, , io.vertx.core.eventbus.DeliveryOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<T>>>);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 0
iconst_1
aload 1
aload 3
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getHeaders:()Lio/vertx/core/MultiMap;
aload 2
aload 3
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getCodecName:()Ljava/lang/String;
aconst_null
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.createMessage:(ZLjava/lang/String;Lio/vertx/core/MultiMap;Ljava/lang/Object;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/impl/MessageImpl;
aload 3
aload 4
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.sendOrPubInternal:(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 address Ljava/lang/String;
0 2 2 message Ljava/lang/Object;
0 2 3 options Lio/vertx/core/eventbus/DeliveryOptions;
0 2 4 replyHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;)Lio/vertx/core/eventbus/EventBus;
MethodParameters:
Name Flags
address
message
options
replyHandler
public <T> io.vertx.core.eventbus.MessageProducer<T> sender(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "address"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: new io.vertx.core.eventbus.impl.MessageProducerImpl
dup
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 1
iconst_1
new io.vertx.core.eventbus.DeliveryOptions
dup
invokespecial io.vertx.core.eventbus.DeliveryOptions.<init>:()V
invokespecial io.vertx.core.eventbus.impl.MessageProducerImpl.<init>:(Lio/vertx/core/Vertx;Ljava/lang/String;ZLio/vertx/core/eventbus/DeliveryOptions;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 address Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
address
public <T> io.vertx.core.eventbus.MessageProducer<T> sender(java.lang.String, io.vertx.core.eventbus.DeliveryOptions);
descriptor: (Ljava/lang/String;Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "address"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "options"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: new io.vertx.core.eventbus.impl.MessageProducerImpl
dup
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 1
iconst_1
aload 2
invokespecial io.vertx.core.eventbus.impl.MessageProducerImpl.<init>:(Lio/vertx/core/Vertx;Ljava/lang/String;ZLio/vertx/core/eventbus/DeliveryOptions;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 3 1 address Ljava/lang/String;
0 3 2 options Lio/vertx/core/eventbus/DeliveryOptions;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
address
options
public <T> io.vertx.core.eventbus.MessageProducer<T> publisher(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "address"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: new io.vertx.core.eventbus.impl.MessageProducerImpl
dup
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 1
iconst_0
new io.vertx.core.eventbus.DeliveryOptions
dup
invokespecial io.vertx.core.eventbus.DeliveryOptions.<init>:()V
invokespecial io.vertx.core.eventbus.impl.MessageProducerImpl.<init>:(Lio/vertx/core/Vertx;Ljava/lang/String;ZLio/vertx/core/eventbus/DeliveryOptions;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 address Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
address
public <T> io.vertx.core.eventbus.MessageProducer<T> publisher(java.lang.String, io.vertx.core.eventbus.DeliveryOptions);
descriptor: (Ljava/lang/String;Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/MessageProducer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ldc "address"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 2
ldc "options"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: new io.vertx.core.eventbus.impl.MessageProducerImpl
dup
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 1
iconst_0
aload 2
invokespecial io.vertx.core.eventbus.impl.MessageProducerImpl.<init>:(Lio/vertx/core/Vertx;Ljava/lang/String;ZLio/vertx/core/eventbus/DeliveryOptions;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 3 1 address Ljava/lang/String;
0 3 2 options Lio/vertx/core/eventbus/DeliveryOptions;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/MessageProducer<TT;>;
MethodParameters:
Name Flags
address
options
public io.vertx.core.eventbus.EventBus publish(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
new io.vertx.core.eventbus.DeliveryOptions
dup
invokespecial io.vertx.core.eventbus.DeliveryOptions.<init>:()V
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.publish:(Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/EventBus;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 1 1 address Ljava/lang/String;
0 1 2 message Ljava/lang/Object;
MethodParameters:
Name Flags
address
message
public io.vertx.core.eventbus.EventBus publish(java.lang.String, java.lang.Object, io.vertx.core.eventbus.DeliveryOptions);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lio/vertx/core/eventbus/DeliveryOptions;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
iconst_0
aload 1
aload 3
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getHeaders:()Lio/vertx/core/MultiMap;
aload 2
aload 3
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getCodecName:()Ljava/lang/String;
aconst_null
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.createMessage:(ZLjava/lang/String;Lio/vertx/core/MultiMap;Ljava/lang/Object;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/impl/MessageImpl;
aload 3
aconst_null
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.sendOrPubInternal:(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)V
1: aload 0
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 address Ljava/lang/String;
0 2 2 message Ljava/lang/Object;
0 2 3 options Lio/vertx/core/eventbus/DeliveryOptions;
MethodParameters:
Name Flags
address
message
options
public <T> io.vertx.core.eventbus.MessageConsumer<T> consumer(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/core/eventbus/MessageConsumer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.checkStarted:()V
1: aload 1
ldc "address"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: new io.vertx.core.eventbus.impl.HandlerRegistration
dup
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 0
aload 1
aconst_null
iconst_0
aconst_null
ldc -1
invokespecial io.vertx.core.eventbus.impl.HandlerRegistration.<init>:(Lio/vertx/core/Vertx;Lio/vertx/core/spi/metrics/EventBusMetrics;Lio/vertx/core/eventbus/impl/EventBusImpl;Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler;J)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 3 1 address Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)Lio/vertx/core/eventbus/MessageConsumer<TT;>;
MethodParameters:
Name Flags
address
public <T> io.vertx.core.eventbus.MessageConsumer<T> consumer(java.lang.String, io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "handler"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.consumer:(Ljava/lang/String;)Lio/vertx/core/eventbus/MessageConsumer;
astore 3
start local 3 2: aload 3
aload 2
invokeinterface io.vertx.core.eventbus.MessageConsumer.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
pop
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 4 1 address Ljava/lang/String;
0 4 2 handler Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
2 4 3 consumer Lio/vertx/core/eventbus/MessageConsumer<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;)Lio/vertx/core/eventbus/MessageConsumer<TT;>;
MethodParameters:
Name Flags
address
handler
public <T> io.vertx.core.eventbus.MessageConsumer<T> localConsumer(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/core/eventbus/MessageConsumer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.checkStarted:()V
1: aload 1
ldc "address"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
2: new io.vertx.core.eventbus.impl.HandlerRegistration
dup
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 0
aload 1
aconst_null
iconst_1
aconst_null
ldc -1
invokespecial io.vertx.core.eventbus.impl.HandlerRegistration.<init>:(Lio/vertx/core/Vertx;Lio/vertx/core/spi/metrics/EventBusMetrics;Lio/vertx/core/eventbus/impl/EventBusImpl;Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler;J)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 3 1 address Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;)Lio/vertx/core/eventbus/MessageConsumer<TT;>;
MethodParameters:
Name Flags
address
public <T> io.vertx.core.eventbus.MessageConsumer<T> localConsumer(java.lang.String, io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>>);
descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ldc "handler"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.localConsumer:(Ljava/lang/String;)Lio/vertx/core/eventbus/MessageConsumer;
astore 3
start local 3 2: aload 3
aload 2
invokeinterface io.vertx.core.eventbus.MessageConsumer.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
pop
3: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 4 1 address Ljava/lang/String;
0 4 2 handler Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
2 4 3 consumer Lio/vertx/core/eventbus/MessageConsumer<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;)Lio/vertx/core/eventbus/MessageConsumer<TT;>;
MethodParameters:
Name Flags
address
handler
public io.vertx.core.eventbus.EventBus registerCodec(io.vertx.core.eventbus.MessageCodec);
descriptor: (Lio/vertx/core/eventbus/MessageCodec;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.codecManager:Lio/vertx/core/eventbus/impl/CodecManager;
aload 1
invokevirtual io.vertx.core.eventbus.impl.CodecManager.registerCodec:(Lio/vertx/core/eventbus/MessageCodec;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 codec Lio/vertx/core/eventbus/MessageCodec;
MethodParameters:
Name Flags
codec
public io.vertx.core.eventbus.EventBus unregisterCodec(java.lang.String);
descriptor: (Ljava/lang/String;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.codecManager:Lio/vertx/core/eventbus/impl/CodecManager;
aload 1
invokevirtual io.vertx.core.eventbus.impl.CodecManager.unregisterCodec:(Ljava/lang/String;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public <T> io.vertx.core.eventbus.EventBus registerDefaultCodec(java.lang.Class<T>, io.vertx.core.eventbus.MessageCodec<T, ?>);
descriptor: (Ljava/lang/Class;Lio/vertx/core/eventbus/MessageCodec;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.codecManager:Lio/vertx/core/eventbus/impl/CodecManager;
aload 1
aload 2
invokevirtual io.vertx.core.eventbus.impl.CodecManager.registerDefaultCodec:(Ljava/lang/Class;Lio/vertx/core/eventbus/MessageCodec;)V
1: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 clazz Ljava/lang/Class<TT;>;
0 2 2 codec Lio/vertx/core/eventbus/MessageCodec<TT;*>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;Lio/vertx/core/eventbus/MessageCodec<TT;*>;)Lio/vertx/core/eventbus/EventBus;
MethodParameters:
Name Flags
clazz
codec
public io.vertx.core.eventbus.EventBus unregisterDefaultCodec(java.lang.Class);
descriptor: (Ljava/lang/Class;)Lio/vertx/core/eventbus/EventBus;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.codecManager:Lio/vertx/core/eventbus/impl/CodecManager;
aload 1
invokevirtual io.vertx.core.eventbus.impl.CodecManager.unregisterDefaultCodec:(Ljava/lang/Class;)V
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 clazz Ljava/lang/Class;
MethodParameters:
Name Flags
clazz
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=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.checkStarted:()V
1: aload 0
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.unregisterAll:()V
2: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 4
3: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.close:()V
4: StackMap locals:
StackMap stack:
aload 1
ifnull 6
5: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 1
invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
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:
(Ljava/lang/Object;)V
io/vertx/core/eventbus/impl/EventBusImpl.lambda$0(Lio/vertx/core/Handler;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.impl.VertxInternal.runOnContext:(Lio/vertx/core/Handler;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 7 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 boolean isMetricsEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
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/EventBusImpl;
public io.vertx.core.spi.metrics.EventBusMetrics<?> getMetrics();
descriptor: ()Lio/vertx/core/spi/metrics/EventBusMetrics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
Signature: ()Lio/vertx/core/spi/metrics/EventBusMetrics<*>;
public io.vertx.core.eventbus.impl.MessageImpl createMessage(boolean, java.lang.String, io.vertx.core.MultiMap, , java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (ZLjava/lang/String;Lio/vertx/core/MultiMap;Ljava/lang/Object;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/impl/MessageImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 2
ldc "no null address accepted"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.codecManager:Lio/vertx/core/eventbus/impl/CodecManager;
aload 4
aload 5
invokevirtual io.vertx.core.eventbus.impl.CodecManager.lookupCodec:(Ljava/lang/Object;Ljava/lang/String;)Lio/vertx/core/eventbus/MessageCodec;
astore 7
start local 7 2: new io.vertx.core.eventbus.impl.MessageImpl
dup
aload 2
aconst_null
aload 3
aload 4
aload 7
iload 1
aload 0
aload 6
invokespecial io.vertx.core.eventbus.impl.MessageImpl.<init>:(Ljava/lang/String;Ljava/lang/String;Lio/vertx/core/MultiMap;Ljava/lang/Object;Lio/vertx/core/eventbus/MessageCodec;ZLio/vertx/core/eventbus/impl/EventBusImpl;Lio/vertx/core/Handler;)V
astore 8
start local 8 3: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 4 1 send Z
0 4 2 address Ljava/lang/String;
0 4 3 headers Lio/vertx/core/MultiMap;
0 4 4 body Ljava/lang/Object;
0 4 5 codecName Ljava/lang/String;
0 4 6 writeHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
2 4 7 codec Lio/vertx/core/eventbus/MessageCodec;
3 4 8 msg Lio/vertx/core/eventbus/impl/MessageImpl;
Signature: (ZLjava/lang/String;Lio/vertx/core/MultiMap;Ljava/lang/Object;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)Lio/vertx/core/eventbus/impl/MessageImpl;
MethodParameters:
Name Flags
send
address
headers
body
codecName
writeHandler
protected <T> io.vertx.core.eventbus.impl.HandlerHolder<T> addRegistration(java.lang.String, io.vertx.core.eventbus.impl.HandlerRegistration<T>, boolean, boolean);
descriptor: (Ljava/lang/String;Lio/vertx/core/eventbus/impl/HandlerRegistration;ZZ)Lio/vertx/core/eventbus/impl/HandlerHolder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.getHandler:()Lio/vertx/core/Handler;
ldc "handler"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
aload 1
aload 2
iload 3
iload 4
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.addLocalRegistration:(Ljava/lang/String;Lio/vertx/core/eventbus/impl/HandlerRegistration;ZZ)Lio/vertx/core/eventbus/impl/EventBusImpl$LocalRegistrationResult;
astore 5
start local 5 2: aload 0
aload 5
getfield io.vertx.core.eventbus.impl.EventBusImpl$LocalRegistrationResult.newAddress:Z
aload 1
iload 3
iload 4
aload 2
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic handle(Lio/vertx/core/eventbus/impl/HandlerRegistration;)Lio/vertx/core/Handler;
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:
(Ljava/lang/Object;)V
io/vertx/core/eventbus/impl/HandlerRegistration.setResult(Lio/vertx/core/AsyncResult;)V (5)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.addRegistration:(ZLjava/lang/String;ZZLio/vertx/core/Handler;)V
3: aload 5
getfield io.vertx.core.eventbus.impl.EventBusImpl$LocalRegistrationResult.holder:Lio/vertx/core/eventbus/impl/HandlerHolder;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 4 1 address Ljava/lang/String;
0 4 2 registration Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 4 3 replyHandler Z
0 4 4 localOnly Z
2 4 5 result Lio/vertx/core/eventbus/impl/EventBusImpl$LocalRegistrationResult<TT;>;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;ZZ)Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
MethodParameters:
Name Flags
address
registration
replyHandler
localOnly
protected <T> void addRegistration(boolean, java.lang.String, boolean, boolean, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (ZLjava/lang/String;ZZLio/vertx/core/Handler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 5
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 newAddress Z
0 2 2 address Ljava/lang/String;
0 2 3 replyHandler Z
0 2 4 localOnly Z
0 2 5 completionHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: <T:Ljava/lang/Object;>(ZLjava/lang/String;ZZLio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
newAddress
address
replyHandler
localOnly
completionHandler
private <T> io.vertx.core.eventbus.impl.EventBusImpl$LocalRegistrationResult<T> addLocalRegistration(java.lang.String, io.vertx.core.eventbus.impl.HandlerRegistration<T>, boolean, boolean);
descriptor: (Ljava/lang/String;Lio/vertx/core/eventbus/impl/HandlerRegistration;ZZ)Lio/vertx/core/eventbus/impl/EventBusImpl$LocalRegistrationResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ldc "address"
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: invokestatic io.vertx.core.Vertx.currentContext:()Lio/vertx/core/Context;
astore 5
start local 5 2: aload 5
ifnull 3
iconst_1
goto 4
StackMap locals: io.vertx.core.Context
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 6
start local 6 5: iload 6
ifne 7
6: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
astore 5
7: StackMap locals: int
StackMap stack:
aload 2
aload 5
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.setHandlerContext:(Lio/vertx/core/Context;)V
8: new io.vertx.core.eventbus.impl.HandlerHolder
dup
aload 2
iload 3
iload 4
aload 5
invokespecial io.vertx.core.eventbus.impl.HandlerHolder.<init>:(Lio/vertx/core/eventbus/impl/HandlerRegistration;ZZLio/vertx/core/Context;)V
astore 7
start local 7 9: new io.vertx.core.impl.utils.ConcurrentCyclicSequence
dup
invokespecial io.vertx.core.impl.utils.ConcurrentCyclicSequence.<init>:()V
aload 7
invokevirtual io.vertx.core.impl.utils.ConcurrentCyclicSequence.add:(Ljava/lang/Object;)Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;
astore 8
start local 8 10: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.handlerMap:Ljava/util/concurrent/ConcurrentMap;
11: aload 1
12: aload 8
13: invokedynamic apply()Ljava/util/function/BiFunction;
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:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/core/eventbus/impl/EventBusImpl.lambda$2(Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;)Lio/vertx/core/impl/utils/ConcurrentCyclicSequence; (6)
(Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;)Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;
14: invokeinterface java.util.concurrent.ConcurrentMap.merge:(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
checkcast io.vertx.core.impl.utils.ConcurrentCyclicSequence
astore 9
start local 9 15: iload 6
ifeq 18
16: new io.vertx.core.eventbus.impl.EventBusImpl$HandlerEntry
dup
aload 0
aload 1
aload 2
invokespecial io.vertx.core.eventbus.impl.EventBusImpl$HandlerEntry.<init>:(Lio/vertx/core/eventbus/impl/EventBusImpl;Ljava/lang/String;Lio/vertx/core/eventbus/impl/HandlerRegistration;)V
astore 10
start local 10 17: aload 5
aload 10
invokeinterface io.vertx.core.Context.addCloseHook:(Lio/vertx/core/Closeable;)V
end local 10 18: StackMap locals: io.vertx.core.eventbus.impl.HandlerHolder io.vertx.core.impl.utils.ConcurrentCyclicSequence io.vertx.core.impl.utils.ConcurrentCyclicSequence
StackMap stack:
aload 8
aload 9
if_acmpne 19
iconst_1
goto 20
StackMap locals:
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 10
start local 10 21: new io.vertx.core.eventbus.impl.EventBusImpl$LocalRegistrationResult
dup
aload 7
iload 10
invokespecial io.vertx.core.eventbus.impl.EventBusImpl$LocalRegistrationResult.<init>:(Lio/vertx/core/eventbus/impl/HandlerHolder;Z)V
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 22 1 address Ljava/lang/String;
0 22 2 registration Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 22 3 replyHandler Z
0 22 4 localOnly Z
2 22 5 context Lio/vertx/core/Context;
5 22 6 hasContext Z
9 22 7 holder Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
10 22 8 handlers Lio/vertx/core/impl/utils/ConcurrentCyclicSequence<Lio/vertx/core/eventbus/impl/HandlerHolder;>;
15 22 9 actualHandlers Lio/vertx/core/impl/utils/ConcurrentCyclicSequence<Lio/vertx/core/eventbus/impl/HandlerHolder;>;
17 18 10 entry Lio/vertx/core/eventbus/impl/EventBusImpl$HandlerEntry;
21 22 10 newAddress Z
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;ZZ)Lio/vertx/core/eventbus/impl/EventBusImpl$LocalRegistrationResult<TT;>;
MethodParameters:
Name Flags
address
registration
replyHandler
localOnly
protected <T> void removeRegistration(io.vertx.core.eventbus.impl.HandlerHolder<T>, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/eventbus/impl/HandlerHolder;Lio/vertx/core/Handler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.removeLocalRegistration:(Lio/vertx/core/eventbus/impl/HandlerHolder;)Z
istore 3
start local 3 1: aload 0
iload 3
ifeq 2
aload 1
goto 3
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.HandlerHolder io.vertx.core.Handler int
StackMap stack: io.vertx.core.eventbus.impl.EventBusImpl
2: aconst_null
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.HandlerHolder io.vertx.core.Handler int
StackMap stack: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.HandlerHolder
3: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getHandler:()Lio/vertx/core/eventbus/impl/HandlerRegistration;
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.address:()Ljava/lang/String;
aload 2
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.removeRegistration:(Lio/vertx/core/eventbus/impl/HandlerHolder;Ljava/lang/String;Lio/vertx/core/Handler;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 5 1 holder Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
0 5 2 completionHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
1 5 3 last Z
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
holder
completionHandler
protected <T> void removeRegistration(io.vertx.core.eventbus.impl.HandlerHolder<T>, java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/eventbus/impl/HandlerHolder;Ljava/lang/String;Lio/vertx/core/Handler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.callCompletionHandlerAsync:(Lio/vertx/core/Handler;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 handlerHolder Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
0 2 2 address Ljava/lang/String;
0 2 3 completionHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handlerHolder
address
completionHandler
private <T> boolean removeLocalRegistration(io.vertx.core.eventbus.impl.HandlerHolder<T>);
descriptor: (Lio/vertx/core/eventbus/impl/HandlerHolder;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getHandler:()Lio/vertx/core/eventbus/impl/HandlerRegistration;
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.address:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.handlerMap:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 1
invokedynamic apply(Lio/vertx/core/eventbus/impl/HandlerHolder;)Ljava/util/function/BiFunction;
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:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
io/vertx/core/eventbus/impl/EventBusImpl.lambda$3(Lio/vertx/core/eventbus/impl/HandlerHolder;Ljava/lang/String;Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;)Lio/vertx/core/impl/utils/ConcurrentCyclicSequence; (6)
(Ljava/lang/String;Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;)Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;
invokeinterface java.util.concurrent.ConcurrentMap.compute:(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
ifnonnull 2
iconst_1
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.setRemoved:()Z
ifeq 6
5: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getContext:()Lio/vertx/core/Context;
new io.vertx.core.eventbus.impl.EventBusImpl$HandlerEntry
dup
aload 0
aload 2
aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getHandler:()Lio/vertx/core/eventbus/impl/HandlerRegistration;
invokespecial io.vertx.core.eventbus.impl.EventBusImpl$HandlerEntry.<init>:(Lio/vertx/core/eventbus/impl/EventBusImpl;Ljava/lang/String;Lio/vertx/core/eventbus/impl/HandlerRegistration;)V
invokeinterface io.vertx.core.Context.removeCloseHook:(Lio/vertx/core/Closeable;)Z
pop
6: StackMap locals: int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 7 1 holder Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
1 7 2 address Ljava/lang/String;
4 7 3 last Z
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;)Z
MethodParameters:
Name Flags
holder
protected <T> void sendReply(io.vertx.core.eventbus.impl.MessageImpl, io.vertx.core.eventbus.impl.MessageImpl, io.vertx.core.eventbus.DeliveryOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<T>>>);
descriptor: (Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "address not specified"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
aload 4
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.createReplyHandlerRegistration:(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/impl/HandlerRegistration;
astore 5
start local 5 3: new io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext
dup
aload 0
aload 1
aload 3
aload 5
aload 2
invokespecial io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.<init>:(Lio/vertx/core/eventbus/impl/EventBusImpl;Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/eventbus/impl/HandlerRegistration;Lio/vertx/core/eventbus/impl/MessageImpl;)V
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.next:()V
end local 5 4: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 5 1 replyMessage Lio/vertx/core/eventbus/impl/MessageImpl;
0 5 2 replierMessage Lio/vertx/core/eventbus/impl/MessageImpl;
0 5 3 options Lio/vertx/core/eventbus/DeliveryOptions;
0 5 4 replyHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;
3 4 5 replyHandlerRegistration Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;)V
MethodParameters:
Name Flags
replyMessage
replierMessage
options
replyHandler
protected <T> void sendReply(io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext<T>, io.vertx.core.eventbus.impl.MessageImpl);
descriptor: (Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;Lio/vertx/core/eventbus/impl/MessageImpl;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.sendOrPub:(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 2 1 sendContext Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;
0 2 2 replierMessage Lio/vertx/core/eventbus/impl/MessageImpl;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;Lio/vertx/core/eventbus/impl/MessageImpl;)V
MethodParameters:
Name Flags
sendContext
replierMessage
protected <T> void sendOrPub(io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext<T>);
descriptor: (Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
astore 2
start local 2 1: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 5
2: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 2
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
aload 2
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isSend:()Z
ifeq 3
iconst_0
goto 4
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext io.vertx.core.eventbus.impl.MessageImpl
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String
3: iconst_1
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext io.vertx.core.eventbus.impl.MessageImpl
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String int
4: iconst_1
iconst_0
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageSent:(Ljava/lang/String;ZZZ)V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.deliverMessageLocally:(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 7 1 sendContext Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;
1 7 2 message Lio/vertx/core/eventbus/impl/MessageImpl;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;)V
MethodParameters:
Name Flags
sendContext
protected <T> io.vertx.core.Handler<io.vertx.core.eventbus.Message<T>> convertHandler(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<T>>>);
descriptor: (Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokedynamic handle(Lio/vertx/core/eventbus/impl/EventBusImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
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:
(Ljava/lang/Object;)V
io/vertx/core/eventbus/impl/EventBusImpl.lambda$4(Lio/vertx/core/Handler;Lio/vertx/core/eventbus/Message;)V (7)
(Lio/vertx/core/eventbus/Message;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 1 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;)Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
MethodParameters:
Name Flags
handler
protected void callCompletionHandlerAsync(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
descriptor: (Lio/vertx/core/Handler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 1
invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
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:
(Ljava/lang/Object;)V
io/vertx/core/eventbus/impl/EventBusImpl.lambda$5(Lio/vertx/core/Handler;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.impl.VertxInternal.runOnContext:(Lio/vertx/core/Handler;)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/EventBusImpl;
0 3 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
protected <T> void deliverMessageLocally(io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext<T>);
descriptor: (Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.deliverMessageLocally:(Lio/vertx/core/eventbus/impl/MessageImpl;)Lio/vertx/core/eventbus/ReplyException;
astore 2
start local 2 1: aload 2
ifnull 6
2: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 4
3: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 1
getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
getfield io.vertx.core.eventbus.impl.MessageImpl.address:Ljava/lang/String;
getstatic io.vertx.core.eventbus.ReplyFailure.NO_HANDLERS:Lio/vertx/core/eventbus/ReplyFailure;
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.replyFailure:(Ljava/lang/String;Lio/vertx/core/eventbus/ReplyFailure;)V
4: StackMap locals: io.vertx.core.eventbus.ReplyException
StackMap stack:
aload 1
getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.handlerRegistration:Lio/vertx/core/eventbus/impl/HandlerRegistration;
ifnull 6
5: aload 1
getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.handlerRegistration:Lio/vertx/core/eventbus/impl/HandlerRegistration;
aload 2
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.sendAsyncResultFailure:(Lio/vertx/core/eventbus/ReplyException;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 7 1 sendContext Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;
1 7 2 failure Lio/vertx/core/eventbus/ReplyException;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;)V
MethodParameters:
Name Flags
sendContext
protected boolean isMessageLocal(io.vertx.core.eventbus.impl.MessageImpl);
descriptor: (Lio/vertx/core/eventbus/impl/MessageImpl;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 1 1 msg Lio/vertx/core/eventbus/impl/MessageImpl;
MethodParameters:
Name Flags
msg
protected io.vertx.core.eventbus.ReplyException deliverMessageLocally(io.vertx.core.eventbus.impl.MessageImpl);
descriptor: (Lio/vertx/core/eventbus/impl/MessageImpl;)Lio/vertx/core/eventbus/ReplyException;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.setBus:(Lio/vertx/core/eventbus/impl/EventBusImpl;)V
1: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.handlerMap:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.core.impl.utils.ConcurrentCyclicSequence
astore 2
start local 2 2: aload 2
ifnull 29
3: aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isSend:()Z
ifeq 17
4: aload 2
invokevirtual io.vertx.core.impl.utils.ConcurrentCyclicSequence.next:()Ljava/lang/Object;
checkcast io.vertx.core.eventbus.impl.HandlerHolder
astore 3
start local 3 5: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 11
6: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isSend:()Z
ifeq 7
iconst_0
goto 8
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence io.vertx.core.eventbus.impl.HandlerHolder
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String
7: iconst_1
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence io.vertx.core.eventbus.impl.HandlerHolder
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String int
8: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.isMessageLocal:(Lio/vertx/core/eventbus/impl/MessageImpl;)Z
aload 3
ifnull 9
iconst_1
goto 10
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence io.vertx.core.eventbus.impl.HandlerHolder
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String int int
9: iconst_0
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence io.vertx.core.eventbus.impl.HandlerHolder
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String int int int
10: invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageReceived:(Ljava/lang/String;ZZI)V
11: StackMap locals:
StackMap stack:
aload 3
ifnull 28
12: aload 0
aload 1
aload 3
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.deliverToHandler:(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/impl/HandlerHolder;)V
13: aload 1
getfield io.vertx.core.eventbus.impl.MessageImpl.writeHandler:Lio/vertx/core/Handler;
astore 4
start local 4 14: aload 4
ifnull 28
15: aload 4
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 4 end local 3 16: goto 28
17: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 21
18: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isSend:()Z
ifeq 19
iconst_0
goto 20
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String
19: iconst_1
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String int
20: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.isMessageLocal:(Lio/vertx/core/eventbus/impl/MessageImpl;)Z
aload 2
invokevirtual io.vertx.core.impl.utils.ConcurrentCyclicSequence.size:()I
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageReceived:(Ljava/lang/String;ZZI)V
21: StackMap locals:
StackMap stack:
aload 2
invokevirtual io.vertx.core.impl.utils.ConcurrentCyclicSequence.iterator:()Ljava/util/Iterator;
astore 4
goto 24
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence top java.util.Iterator
StackMap stack:
22: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.core.eventbus.impl.HandlerHolder
astore 3
start local 3 23: aload 0
aload 1
aload 3
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.deliverToHandler:(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/impl/HandlerHolder;)V
end local 3 24: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
25: aload 1
getfield io.vertx.core.eventbus.impl.MessageImpl.writeHandler:Lio/vertx/core/Handler;
astore 3
start local 3 26: aload 3
ifnull 28
27: aload 3
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 3 28: StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence
StackMap stack:
aconst_null
areturn
29: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 33
30: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isSend:()Z
ifeq 31
iconst_0
goto 32
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String
31: iconst_1
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence
StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String int
32: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.isMessageLocal:(Lio/vertx/core/eventbus/impl/MessageImpl;)Z
iconst_0
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageReceived:(Ljava/lang/String;ZZI)V
33: StackMap locals:
StackMap stack:
new io.vertx.core.eventbus.ReplyException
dup
getstatic io.vertx.core.eventbus.ReplyFailure.NO_HANDLERS:Lio/vertx/core/eventbus/ReplyFailure;
new java.lang.StringBuilder
dup
ldc "No handlers for address "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield io.vertx.core.eventbus.impl.MessageImpl.address:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.vertx.core.eventbus.ReplyException.<init>:(Lio/vertx/core/eventbus/ReplyFailure;Ljava/lang/String;)V
astore 3
start local 3 34: aload 1
getfield io.vertx.core.eventbus.impl.MessageImpl.writeHandler:Lio/vertx/core/Handler;
astore 4
start local 4 35: aload 4
ifnull 37
36: aload 4
aload 3
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
37: StackMap locals: io.vertx.core.eventbus.ReplyException io.vertx.core.Handler
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 38 1 msg Lio/vertx/core/eventbus/impl/MessageImpl;
2 38 2 handlers Lio/vertx/core/impl/utils/ConcurrentCyclicSequence<Lio/vertx/core/eventbus/impl/HandlerHolder;>;
5 16 3 holder Lio/vertx/core/eventbus/impl/HandlerHolder;
14 16 4 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
23 24 3 holder Lio/vertx/core/eventbus/impl/HandlerHolder;
26 28 3 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
34 38 3 failure Lio/vertx/core/eventbus/ReplyException;
35 38 4 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
MethodParameters:
Name Flags
msg
protected void checkStarted();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.started:Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Event Bus is not started"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
protected java.lang.String generateReplyAddress();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "__vertx.reply."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.replySequence:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
private <T> io.vertx.core.eventbus.impl.HandlerRegistration<T> createReplyHandlerRegistration(io.vertx.core.eventbus.impl.MessageImpl, io.vertx.core.eventbus.DeliveryOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<T>>>);
descriptor: (Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/impl/HandlerRegistration;
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
ifnull 9
1: aload 2
invokevirtual io.vertx.core.eventbus.DeliveryOptions.getSendTimeout:()J
lstore 4
start local 4 2: aload 0
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.generateReplyAddress:()Ljava/lang/String;
astore 6
start local 6 3: aload 1
aload 6
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.setReplyAddress:(Ljava/lang/String;)V
4: aload 0
aload 3
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.convertHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
astore 7
start local 7 5: new io.vertx.core.eventbus.impl.HandlerRegistration
dup
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.vertx:Lio/vertx/core/impl/VertxInternal;
aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 0
aload 6
aload 1
getfield io.vertx.core.eventbus.impl.MessageImpl.address:Ljava/lang/String;
iconst_1
aload 3
lload 4
invokespecial io.vertx.core.eventbus.impl.HandlerRegistration.<init>:(Lio/vertx/core/Vertx;Lio/vertx/core/spi/metrics/EventBusMetrics;Lio/vertx/core/eventbus/impl/EventBusImpl;Ljava/lang/String;Ljava/lang/String;ZLio/vertx/core/Handler;J)V
6: astore 8
start local 8 7: aload 8
aload 7
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/MessageConsumer;
pop
8: aload 8
areturn
end local 8 end local 7 end local 6 end local 4 9: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 10 1 message Lio/vertx/core/eventbus/impl/MessageImpl;
0 10 2 options Lio/vertx/core/eventbus/DeliveryOptions;
0 10 3 replyHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;
2 9 4 timeout J
3 9 6 replyAddress Ljava/lang/String;
5 9 7 simpleReplyHandler Lio/vertx/core/Handler<Lio/vertx/core/eventbus/Message<TT;>;>;
7 9 8 registration Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;)Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
MethodParameters:
Name Flags
message
options
replyHandler
public <T> void sendOrPubInternal(io.vertx.core.eventbus.impl.MessageImpl, io.vertx.core.eventbus.DeliveryOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.eventbus.Message<T>>>);
descriptor: (Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.checkStarted:()V
1: aload 0
aload 1
aload 2
aload 3
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.createReplyHandlerRegistration:(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler;)Lio/vertx/core/eventbus/impl/HandlerRegistration;
astore 4
start local 4 2: new io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext
dup
aload 0
aload 1
aload 2
aload 4
invokespecial io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.<init>:(Lio/vertx/core/eventbus/impl/EventBusImpl;Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/eventbus/impl/HandlerRegistration;)V
astore 5
start local 5 3: aload 5
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.next:()V
4: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 5 1 message Lio/vertx/core/eventbus/impl/MessageImpl;
0 5 2 options Lio/vertx/core/eventbus/DeliveryOptions;
0 5 3 replyHandler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;
2 5 4 replyHandlerRegistration Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
3 5 5 sendContext Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/DeliveryOptions;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/eventbus/Message<TT;>;>;>;)V
MethodParameters:
Name Flags
message
options
replyHandler
private void unregisterAll();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=5, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.handlerMap:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.core.impl.utils.ConcurrentCyclicSequence
astore 1
start local 1 2: aload 1
invokevirtual io.vertx.core.impl.utils.ConcurrentCyclicSequence.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.impl.utils.ConcurrentCyclicSequence java.util.Iterator top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.core.eventbus.impl.HandlerHolder
astore 3
start local 3 4: aload 3
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getHandler:()Lio/vertx/core/eventbus/impl/HandlerRegistration;
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.unregister:()V
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 1 6: StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
2 6 1 handlers Lio/vertx/core/impl/utils/ConcurrentCyclicSequence<Lio/vertx/core/eventbus/impl/HandlerHolder;>;
4 5 3 holder Lio/vertx/core/eventbus/impl/HandlerHolder;
private <T> void deliverToHandler(io.vertx.core.eventbus.impl.MessageImpl, io.vertx.core.eventbus.impl.HandlerHolder<T>);
descriptor: (Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/impl/HandlerHolder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.copyBeforeReceive:()Lio/vertx/core/eventbus/impl/MessageImpl;
astore 3
start local 3 1: new io.vertx.core.eventbus.impl.EventBusImpl$InboundDeliveryContext
dup
aload 0
aload 3
aload 2
invokespecial io.vertx.core.eventbus.impl.EventBusImpl$InboundDeliveryContext.<init>:(Lio/vertx/core/eventbus/impl/EventBusImpl;Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/impl/HandlerHolder;)V
astore 4
start local 4 2: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 4
3: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 2
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getHandler:()Lio/vertx/core/eventbus/impl/HandlerRegistration;
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.getMetric:()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
4: StackMap locals: io.vertx.core.eventbus.impl.MessageImpl io.vertx.core.eventbus.DeliveryContext
StackMap stack:
aload 2
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getContext:()Lio/vertx/core/Context;
aload 2
aload 4
invokedynamic handle(Lio/vertx/core/eventbus/impl/HandlerHolder;Lio/vertx/core/eventbus/DeliveryContext;)Lio/vertx/core/Handler;
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:
(Ljava/lang/Object;)V
io/vertx/core/eventbus/impl/EventBusImpl.lambda$6(Lio/vertx/core/eventbus/impl/HandlerHolder;Lio/vertx/core/eventbus/DeliveryContext;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
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/EventBusImpl;
0 6 1 msg Lio/vertx/core/eventbus/impl/MessageImpl;
0 6 2 holder Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
1 6 3 copied Lio/vertx/core/eventbus/impl/MessageImpl;
2 6 4 receiveContext Lio/vertx/core/eventbus/DeliveryContext<TT;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/MessageImpl;Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;)V
MethodParameters:
Name Flags
msg
holder
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic handle()Lio/vertx/core/Handler;
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:
(Ljava/lang/Object;)V
io/vertx/core/eventbus/impl/EventBusImpl.lambda$7(Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.close:(Lio/vertx/core/Handler;)V
1: aload 0
invokespecial java.lang.Object.finalize:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
Exceptions:
throws java.lang.Throwable
public io.vertx.core.spi.metrics.Metrics getMetrics();
descriptor: ()Lio/vertx/core/spi/metrics/Metrics;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.vertx.core.eventbus.impl.EventBusImpl.getMetrics:()Lio/vertx/core/spi/metrics/EventBusMetrics;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$0(io.vertx.core.Handler, java.lang.Void);
descriptor: (Lio/vertx/core/Handler;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 v Ljava/lang/Void;
private static io.vertx.core.impl.utils.ConcurrentCyclicSequence lambda$2(io.vertx.core.impl.utils.ConcurrentCyclicSequence, io.vertx.core.impl.utils.ConcurrentCyclicSequence);
descriptor: (Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;)Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual io.vertx.core.impl.utils.ConcurrentCyclicSequence.first:()Ljava/lang/Object;
checkcast io.vertx.core.eventbus.impl.HandlerHolder
invokevirtual io.vertx.core.impl.utils.ConcurrentCyclicSequence.add:(Ljava/lang/Object;)Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 old Lio/vertx/core/impl/utils/ConcurrentCyclicSequence<Lio/vertx/core/eventbus/impl/HandlerHolder;>;
0 1 1 prev Lio/vertx/core/impl/utils/ConcurrentCyclicSequence<Lio/vertx/core/eventbus/impl/HandlerHolder;>;
private static io.vertx.core.impl.utils.ConcurrentCyclicSequence lambda$3(io.vertx.core.eventbus.impl.HandlerHolder, java.lang.String, io.vertx.core.impl.utils.ConcurrentCyclicSequence);
descriptor: (Lio/vertx/core/eventbus/impl/HandlerHolder;Ljava/lang/String;Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;)Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=3
start local 1 start local 2 0: aload 2
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
aload 0
invokevirtual io.vertx.core.impl.utils.ConcurrentCyclicSequence.remove:(Ljava/lang/Object;)Lio/vertx/core/impl/utils/ConcurrentCyclicSequence;
astore 3
start local 3 3: aload 3
invokevirtual io.vertx.core.impl.utils.ConcurrentCyclicSequence.size:()I
ifne 4
aconst_null
goto 5
StackMap locals: io.vertx.core.impl.utils.ConcurrentCyclicSequence
StackMap stack:
4: aload 3
StackMap locals:
StackMap stack: io.vertx.core.impl.utils.ConcurrentCyclicSequence
5: areturn
end local 3 end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 6 1 key Ljava/lang/String;
0 6 2 val Lio/vertx/core/impl/utils/ConcurrentCyclicSequence<Lio/vertx/core/eventbus/impl/HandlerHolder;>;
3 6 3 next Lio/vertx/core/impl/utils/ConcurrentCyclicSequence<Lio/vertx/core/eventbus/impl/HandlerHolder;>;
private void lambda$4(io.vertx.core.Handler, io.vertx.core.eventbus.Message);
descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/eventbus/Message;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface io.vertx.core.eventbus.Message.body:()Ljava/lang/Object;
instanceof io.vertx.core.eventbus.ReplyException
ifeq 6
1: aload 2
invokeinterface io.vertx.core.eventbus.Message.body:()Ljava/lang/Object;
checkcast io.vertx.core.eventbus.ReplyException
astore 4
start local 4 2: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
ifnull 4
3: aload 0
getfield io.vertx.core.eventbus.impl.EventBusImpl.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
aload 2
invokeinterface io.vertx.core.eventbus.Message.address:()Ljava/lang/String;
aload 4
invokevirtual io.vertx.core.eventbus.ReplyException.failureType:()Lio/vertx/core/eventbus/ReplyFailure;
invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.replyFailure:(Ljava/lang/String;Lio/vertx/core/eventbus/ReplyFailure;)V
4: StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.Handler io.vertx.core.eventbus.Message top io.vertx.core.eventbus.ReplyException
StackMap stack:
aload 4
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
astore 3
end local 4 start local 3 5: goto 7
end local 3 6: StackMap locals: io.vertx.core.eventbus.impl.EventBusImpl io.vertx.core.Handler io.vertx.core.eventbus.Message
StackMap stack:
aload 2
invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
astore 3
start local 3 7: StackMap locals: io.vertx.core.Future
StackMap stack:
aload 1
aload 3
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
end local 3 8: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/core/eventbus/impl/EventBusImpl;
0 9 2 reply Lio/vertx/core/eventbus/Message<TT;>;
5 6 3 result Lio/vertx/core/Future<Lio/vertx/core/eventbus/Message<TT;>;>;
7 8 3 result Lio/vertx/core/Future<Lio/vertx/core/eventbus/Message<TT;>;>;
2 5 4 exception Lio/vertx/core/eventbus/ReplyException;
private static void lambda$5(io.vertx.core.Handler, java.lang.Void);
descriptor: (Lio/vertx/core/Handler;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
1: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 v Ljava/lang/Void;
private static void lambda$6(io.vertx.core.eventbus.impl.HandlerHolder, io.vertx.core.eventbus.DeliveryContext, java.lang.Void);
descriptor: (Lio/vertx/core/eventbus/impl/HandlerHolder;Lio/vertx/core/eventbus/DeliveryContext;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=4, args_size=3
start local 2 0: aload 0
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.isRemoved:()Z
ifne 7
1: aload 1
invokeinterface io.vertx.core.eventbus.DeliveryContext.next:()V
2: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 3
4: aload 0
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.isReplyHandler:()Z
ifeq 6
5: aload 0
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getHandler:()Lio/vertx/core/eventbus/impl/HandlerRegistration;
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.unregister:()V
6: StackMap locals: java.lang.Throwable
StackMap stack:
aload 3
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.isReplyHandler:()Z
ifeq 9
8: aload 0
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getHandler:()Lio/vertx/core/eventbus/impl/HandlerRegistration;
invokevirtual io.vertx.core.eventbus.impl.HandlerRegistration.unregister:()V
9: StackMap locals:
StackMap stack:
return
end local 2 LocalVariableTable:
Start End Slot Name Signature
0 10 2 v Ljava/lang/Void;
Exception table:
from to target type
0 3 3 any
private static void lambda$7(io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/AsyncResult;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ar Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "EventBusImpl.java"
NestMembers:
io.vertx.core.eventbus.impl.EventBusImpl$HandlerEntry io.vertx.core.eventbus.impl.EventBusImpl$InboundDeliveryContext io.vertx.core.eventbus.impl.EventBusImpl$LocalRegistrationResult io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext
InnerClasses:
public HandlerEntry = io.vertx.core.eventbus.impl.EventBusImpl$HandlerEntry of io.vertx.core.eventbus.impl.EventBusImpl
protected InboundDeliveryContext = io.vertx.core.eventbus.impl.EventBusImpl$InboundDeliveryContext of io.vertx.core.eventbus.impl.EventBusImpl
private LocalRegistrationResult = io.vertx.core.eventbus.impl.EventBusImpl$LocalRegistrationResult of io.vertx.core.eventbus.impl.EventBusImpl
protected OutboundDeliveryContext = io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext of io.vertx.core.eventbus.impl.EventBusImpl
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles