public class io.vertx.core.eventbus.impl.clustered.ClusteredEventBus extends io.vertx.core.eventbus.impl.EventBusImpl
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus
super_class: io.vertx.core.eventbus.impl.EventBusImpl
{
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
private static final io.vertx.core.buffer.Buffer PONG;
descriptor: Lio/vertx/core/buffer/Buffer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.vertx.core.eventbus.EventBusOptions options;
descriptor: Lio/vertx/core/eventbus/EventBusOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.spi.cluster.ClusterManager clusterManager;
descriptor: Lio/vertx/core/spi/cluster/ClusterManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.spi.cluster.NodeSelector nodeSelector;
descriptor: Lio/vertx/core/spi/cluster/NodeSelector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong handlerSequence;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentMap<java.lang.String, io.vertx.core.eventbus.impl.clustered.ConnectionHolder> connections;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lio/vertx/core/eventbus/impl/clustered/ConnectionHolder;>;
private io.vertx.core.spi.cluster.NodeInfo nodeInfo;
descriptor: Lio/vertx/core/spi/cluster/NodeInfo;
flags: (0x0002) ACC_PRIVATE
private java.lang.String nodeId;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.net.NetServer server;
descriptor: Lio/vertx/core/net/NetServer;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/impl/logging/Logger;
1: iconst_1
newarray 8
dup
iconst_0
iconst_1
bastore
invokestatic io.vertx.core.buffer.Buffer.buffer:([B)Lio/vertx/core/buffer/Buffer;
putstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.PONG:Lio/vertx/core/buffer/Buffer;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.vertx.core.impl.VertxInternal, io.vertx.core.VertxOptions, io.vertx.core.spi.cluster.ClusterManager, io.vertx.core.spi.cluster.NodeSelector);
descriptor: (Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/VertxOptions;Lio/vertx/core/spi/cluster/ClusterManager;Lio/vertx/core/spi/cluster/NodeSelector;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokespecial io.vertx.core.eventbus.impl.EventBusImpl.<init>:(Lio/vertx/core/impl/VertxInternal;)V
1: 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.clustered.ClusteredEventBus.handlerSequence:Ljava/util/concurrent/atomic/AtomicLong;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.connections:Ljava/util/concurrent/ConcurrentMap;
3: aload 0
aload 2
invokevirtual io.vertx.core.VertxOptions.getEventBusOptions:()Lio/vertx/core/eventbus/EventBusOptions;
putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
4: aload 0
aload 3
putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
5: aload 0
aload 4
putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
6: return
end local 4 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/clustered/ClusteredEventBus;
0 7 1 vertx Lio/vertx/core/impl/VertxInternal;
0 7 2 options Lio/vertx/core/VertxOptions;
0 7 3 clusterManager Lio/vertx/core/spi/cluster/ClusterManager;
0 7 4 nodeSelector Lio/vertx/core/spi/cluster/NodeSelector;
MethodParameters:
Name Flags
vertx
options
clusterManager
nodeSelector
private io.vertx.core.net.NetServerOptions getServerOptions();
descriptor: ()Lio/vertx/core/net/NetServerOptions;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.vertx.core.net.NetServerOptions
dup
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
invokevirtual io.vertx.core.eventbus.EventBusOptions.toJson:()Lio/vertx/core/json/JsonObject;
invokespecial io.vertx.core.net.NetServerOptions.<init>:(Lio/vertx/core/json/JsonObject;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
public void start(io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.getServerOptions:()Lio/vertx/core/net/NetServerOptions;
astore 2
start local 2 1: aload 0
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.vertx:Lio/vertx/core/impl/VertxInternal;
aload 2
invokeinterface io.vertx.core.impl.VertxInternal.createNetServer:(Lio/vertx/core/net/NetServerOptions;)Lio/vertx/core/net/NetServer;
putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
2: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
aload 0
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.getServerHandler:()Lio/vertx/core/Handler;
invokeinterface io.vertx.core.net.NetServer.connectHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetServer;
pop
3: aload 0
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.getClusterPort:()I
istore 3
start local 3 4: aload 0
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.getClusterHost:()Ljava/lang/String;
astore 4
start local 4 5: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
iload 3
aload 4
invokeinterface io.vertx.core.net.NetServer.listen:(ILjava/lang/String;)Lio/vertx/core/Future;
aload 0
aload 4
invokedynamic apply(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Ljava/lang/String;)Ljava/util/function/Function;
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;
io/vertx/core/eventbus/impl/clustered/ClusteredEventBus.lambda$0(Ljava/lang/String;Lio/vertx/core/net/NetServer;)Lio/vertx/core/Future; (7)
(Lio/vertx/core/net/NetServer;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Future.flatMap:(Ljava/util/function/Function;)Lio/vertx/core/Future;
6: aload 0
invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;)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/clustered/ClusteredEventBus.lambda$1(Ljava/lang/Void;)V (7)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.Future.onSuccess:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
7: aload 1
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 9 1 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
1 9 2 serverOptions Lio/vertx/core/net/NetServerOptions;
4 9 3 port I
5 9 4 host Ljava/lang/String;
Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
promise
public void close(io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
astore 2
start local 2 1: aload 0
aload 2
invokespecial io.vertx.core.eventbus.impl.EventBusImpl.close:(Lio/vertx/core/Promise;)V
2: aload 2
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
aload 0
aload 1
invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/Promise;)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/clustered/ClusteredEventBus.lambda$2(Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
3: 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/clustered/ClusteredEventBus;
0 4 1 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
1 4 2 parentClose Lio/vertx/core/Promise<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
promise
public io.vertx.core.eventbus.impl.MessageImpl createMessage(boolean, java.lang.String, io.vertx.core.MultiMap, java.lang.Object, java.lang.String);
descriptor: (ZLjava/lang/String;Lio/vertx/core/MultiMap;Ljava/lang/Object;Ljava/lang/String;)Lio/vertx/core/eventbus/impl/MessageImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 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.clustered.ClusteredEventBus.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 6
start local 6 2: new io.vertx.core.eventbus.impl.clustered.ClusteredMessage
dup
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeId:Ljava/lang/String;
aload 2
aload 3
aload 4
aload 6
iload 1
aload 0
invokespecial io.vertx.core.eventbus.impl.clustered.ClusteredMessage.<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;)V
astore 7
start local 7 3: aload 7
areturn
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/clustered/ClusteredEventBus;
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;
2 4 6 codec Lio/vertx/core/eventbus/MessageCodec;
3 4 7 msg Lio/vertx/core/eventbus/impl/clustered/ClusteredMessage;
MethodParameters:
Name Flags
send
address
headers
body
codecName
protected <T> void onLocalRegistration(io.vertx.core.eventbus.impl.HandlerHolder<T>, io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/eventbus/impl/HandlerHolder;Lio/vertx/core/Promise;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.isReplyHandler:()Z
ifne 8
1: new io.vertx.core.spi.cluster.RegistrationInfo
dup
2: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeId:Ljava/lang/String;
3: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getSeq:()J
4: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.isLocalOnly:()Z
5: invokespecial io.vertx.core.spi.cluster.RegistrationInfo.<init>:(Ljava/lang/String;JZ)V
astore 3
start local 3 6: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getHandler:()Lio/vertx/core/eventbus/impl/HandlerRegistration;
getfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
aload 3
aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.core.Promise
invokeinterface io.vertx.core.spi.cluster.ClusterManager.addRegistration:(Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;Lio/vertx/core/Promise;)V
end local 3 7: goto 10
StackMap locals:
StackMap stack:
8: aload 2
ifnull 10
9: aload 2
invokeinterface io.vertx.core.Promise.complete:()V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 11 1 handlerHolder Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
0 11 2 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
6 7 3 registrationInfo Lio/vertx/core/spi/cluster/RegistrationInfo;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
handlerHolder
promise
protected <T> io.vertx.core.eventbus.impl.HandlerHolder<T> createHandlerHolder(io.vertx.core.eventbus.impl.HandlerRegistration<T>, boolean, boolean, io.vertx.core.impl.ContextInternal);
descriptor: (Lio/vertx/core/eventbus/impl/HandlerRegistration;ZZLio/vertx/core/impl/ContextInternal;)Lio/vertx/core/eventbus/impl/HandlerHolder;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new io.vertx.core.eventbus.impl.clustered.ClusteredHandlerHolder
dup
aload 1
iload 2
iload 3
aload 4
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.handlerSequence:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
invokespecial io.vertx.core.eventbus.impl.clustered.ClusteredHandlerHolder.<init>:(Lio/vertx/core/eventbus/impl/HandlerRegistration;ZZLio/vertx/core/impl/ContextInternal;J)V
areturn
end local 4 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/clustered/ClusteredEventBus;
0 1 1 registration Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;
0 1 2 replyHandler Z
0 1 3 localOnly Z
0 1 4 context Lio/vertx/core/impl/ContextInternal;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/HandlerRegistration<TT;>;ZZLio/vertx/core/impl/ContextInternal;)Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
MethodParameters:
Name Flags
registration
replyHandler
localOnly
context
protected <T> void onLocalUnregistration(io.vertx.core.eventbus.impl.HandlerHolder<T>, io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/eventbus/impl/HandlerHolder;Lio/vertx/core/Promise;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.isReplyHandler:()Z
ifne 10
1: new io.vertx.core.spi.cluster.RegistrationInfo
dup
2: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeId:Ljava/lang/String;
3: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getSeq:()J
4: aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.isLocalOnly:()Z
5: invokespecial io.vertx.core.spi.cluster.RegistrationInfo.<init>:(Ljava/lang/String;JZ)V
astore 3
start local 3 6: invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
astore 4
start local 4 7: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
aload 1
invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.getHandler:()Lio/vertx/core/eventbus/impl/HandlerRegistration;
getfield io.vertx.core.eventbus.impl.HandlerRegistration.address:Ljava/lang/String;
aload 3
aload 4
invokeinterface io.vertx.core.spi.cluster.ClusterManager.removeRegistration:(Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;Lio/vertx/core/Promise;)V
8: aload 4
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
aload 2
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
end local 4 end local 3 9: goto 11
10: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.vertx.core.Promise.complete:()V
11: StackMap locals:
StackMap stack:
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/clustered/ClusteredEventBus;
0 12 1 handlerHolder Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
0 12 2 completionHandler Lio/vertx/core/Promise<Ljava/lang/Void;>;
6 9 3 registrationInfo Lio/vertx/core/spi/cluster/RegistrationInfo;
7 9 4 promise Lio/vertx/core/Promise<Ljava/lang/Void;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
handlerHolder
completionHandler
protected <T> void sendOrPub(io.vertx.core.eventbus.impl.OutboundDeliveryContext<T>);
descriptor: (Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
checkcast io.vertx.core.eventbus.impl.clustered.ClusteredMessage
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredMessage.getRepliedTo:()Ljava/lang/String;
ifnull 3
1: aload 0
aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
checkcast io.vertx.core.eventbus.impl.clustered.ClusteredMessage
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredMessage.getRepliedTo:()Ljava/lang/String;
aload 1
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusteredSendReply:(Ljava/lang/String;Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)V
2: goto 15
StackMap locals:
StackMap stack:
3: aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.options:Lio/vertx/core/eventbus/DeliveryOptions;
invokevirtual io.vertx.core.eventbus.DeliveryOptions.isLocalOnly:()Z
ifeq 6
4: aload 0
aload 1
invokespecial io.vertx.core.eventbus.impl.EventBusImpl.sendOrPub:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)V
5: goto 15
6: StackMap locals:
StackMap stack:
aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.ctx:Lio/vertx/core/impl/ContextInternal;
invokestatic io.vertx.core.eventbus.impl.clustered.Serializer.get:(Lio/vertx/core/impl/ContextInternal;)Lio/vertx/core/eventbus/impl/clustered/Serializer;
astore 2
start local 2 7: aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isSend:()Z
ifeq 12
8: aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.ctx:Lio/vertx/core/impl/ContextInternal;
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 3
start local 3 9: aload 2
aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lio/vertx/core/spi/cluster/NodeSelector;)Ljava/util/function/BiConsumer;
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;)V
io/vertx/core/spi/cluster/NodeSelector.selectForSend(Lio/vertx/core/eventbus/Message;Lio/vertx/core/Promise;)V (9 itf)
(Lio/vertx/core/eventbus/Message;Lio/vertx/core/Promise;)V
aload 3
invokevirtual io.vertx.core.eventbus.impl.clustered.Serializer.queue:(Lio/vertx/core/eventbus/Message;Ljava/util/function/BiConsumer;Lio/vertx/core/Promise;)V
10: aload 3
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
aload 0
aload 1
invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)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/clustered/ClusteredEventBus.lambda$5(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
end local 3 11: goto 15
12: StackMap locals: io.vertx.core.eventbus.impl.clustered.Serializer
StackMap stack:
aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.ctx:Lio/vertx/core/impl/ContextInternal;
invokeinterface io.vertx.core.impl.ContextInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
astore 3
start local 3 13: aload 2
aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lio/vertx/core/spi/cluster/NodeSelector;)Ljava/util/function/BiConsumer;
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;)V
io/vertx/core/spi/cluster/NodeSelector.selectForPublish(Lio/vertx/core/eventbus/Message;Lio/vertx/core/Promise;)V (9 itf)
(Lio/vertx/core/eventbus/Message;Lio/vertx/core/Promise;)V
aload 3
invokevirtual io.vertx.core.eventbus.impl.clustered.Serializer.queue:(Lio/vertx/core/eventbus/Message;Ljava/util/function/BiConsumer;Lio/vertx/core/Promise;)V
14: aload 3
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
aload 0
aload 1
invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)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/clustered/ClusteredEventBus.lambda$7(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
pop
end local 3 end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 16 1 sendContext Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<TT;>;
7 15 2 serializer Lio/vertx/core/eventbus/impl/clustered/Serializer;
9 11 3 promise Lio/vertx/core/Promise<Ljava/lang/String;>;
13 15 3 promise Lio/vertx/core/Promise<Ljava/lang/Iterable<Ljava/lang/String;>;>;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<TT;>;)V
MethodParameters:
Name Flags
sendContext
private void sendOrPublishFailed(io.vertx.core.eventbus.impl.OutboundDeliveryContext<?>, java.lang.Throwable);
descriptor: (Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/impl/logging/Logger;
invokeinterface io.vertx.core.impl.logging.Logger.isDebugEnabled:()Z
ifeq 2
1: getstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/impl/logging/Logger;
ldc "Failed to send message"
aload 2
invokeinterface io.vertx.core.impl.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
aload 1
aload 2
invokevirtual io.vertx.core.eventbus.impl.OutboundDeliveryContext.written:(Ljava/lang/Throwable;)V
3: 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/clustered/ClusteredEventBus;
0 4 1 sendContext Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<*>;
0 4 2 cause Ljava/lang/Throwable;
Signature: (Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<*>;Ljava/lang/Throwable;)V
MethodParameters:
Name Flags
sendContext
cause
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
invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
invokevirtual java.util.UUID.toString:()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/clustered/ClusteredEventBus;
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=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast io.vertx.core.eventbus.impl.clustered.ClusteredMessage
astore 2
start local 2 1: aload 2
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredMessage.isFromWire:()Z
ifeq 2
iconst_0
goto 3
StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredMessage
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 4 1 msg Lio/vertx/core/eventbus/impl/MessageImpl;
1 4 2 clusteredMessage Lio/vertx/core/eventbus/impl/clustered/ClusteredMessage;
MethodParameters:
Name Flags
msg
private int getClusterPort();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
invokevirtual io.vertx.core.eventbus.EventBusOptions.getPort:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
private java.lang.String getClusterHost();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
invokevirtual io.vertx.core.eventbus.EventBusOptions.getHost:()Ljava/lang/String;
dup
astore 1
start local 1 1: ifnull 3
2: aload 1
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
invokeinterface io.vertx.core.spi.cluster.ClusterManager.clusterHost:()Ljava/lang/String;
dup
astore 1
ifnull 5
4: aload 1
areturn
5: StackMap locals:
StackMap stack:
invokestatic io.vertx.core.eventbus.AddressHelper.defaultAddress:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
1 6 1 host Ljava/lang/String;
private int getClusterPublicPort(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
invokevirtual io.vertx.core.eventbus.EventBusOptions.getClusterPublicPort:()I
istore 2
start local 2 1: iload 2
ifle 2
iload 2
goto 3
StackMap locals: int
StackMap stack:
2: iload 1
StackMap locals:
StackMap stack: int
3: ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 4 1 actualPort I
1 4 2 publicPort I
MethodParameters:
Name Flags
actualPort
private java.lang.String getClusterPublicHost(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
invokevirtual io.vertx.core.eventbus.EventBusOptions.getClusterPublicHost:()Ljava/lang/String;
dup
astore 2
start local 2 1: ifnull 3
2: aload 2
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
invokevirtual io.vertx.core.eventbus.EventBusOptions.getHost:()Ljava/lang/String;
dup
astore 2
ifnull 5
4: aload 2
areturn
5: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
invokeinterface io.vertx.core.spi.cluster.ClusterManager.clusterPublicHost:()Ljava/lang/String;
dup
astore 2
ifnull 7
6: aload 2
areturn
7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 8 1 host Ljava/lang/String;
1 8 2 publicHost Ljava/lang/String;
MethodParameters:
Name Flags
host
private io.vertx.core.Handler<io.vertx.core.net.NetSocket> getServerHandler();
descriptor: ()Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;)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/clustered/ClusteredEventBus.lambda$8(Lio/vertx/core/net/NetSocket;)V (7)
(Lio/vertx/core/net/NetSocket;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
Signature: ()Lio/vertx/core/Handler<Lio/vertx/core/net/NetSocket;>;
private <T> void sendToNode(io.vertx.core.eventbus.impl.OutboundDeliveryContext<T>, java.lang.String);
descriptor: (Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 3
aload 2
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeId:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
1: aload 0
aload 1
aload 2
aload 1
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendRemote:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/String;Lio/vertx/core/eventbus/impl/MessageImpl;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial io.vertx.core.eventbus.impl.EventBusImpl.sendOrPub:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 5 1 sendContext Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<TT;>;
0 5 2 nodeId Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<TT;>;Ljava/lang/String;)V
MethodParameters:
Name Flags
sendContext
nodeId
private <T> void sendToNodes(io.vertx.core.eventbus.impl.OutboundDeliveryContext<T>, java.lang.Iterable<java.lang.String>);
descriptor: (Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/Iterable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iconst_0
istore 3
start local 3 1: aload 2
ifnull 8
2: aload 2
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.eventbus.impl.OutboundDeliveryContext java.lang.Iterable int top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: iload 3
ifne 6
5: iconst_1
istore 3
6: StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.eventbus.impl.OutboundDeliveryContext java.lang.Iterable int java.lang.String java.util.Iterator
StackMap stack:
aload 0
aload 1
aload 4
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendToNode:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/String;)V
end local 4 7: StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.eventbus.impl.OutboundDeliveryContext java.lang.Iterable int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
8: StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.eventbus.impl.OutboundDeliveryContext java.lang.Iterable int
StackMap stack:
iload 3
ifne 10
9: aload 0
aload 1
invokespecial io.vertx.core.eventbus.impl.EventBusImpl.sendOrPub:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 11 1 sendContext Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<TT;>;
0 11 2 nodeIds Ljava/lang/Iterable<Ljava/lang/String;>;
1 11 3 sentRemote Z
4 7 4 nid Ljava/lang/String;
Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<TT;>;Ljava/lang/Iterable<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
sendContext
nodeIds
private <T> void clusteredSendReply(java.lang.String, io.vertx.core.eventbus.impl.OutboundDeliveryContext<T>);
descriptor: (Ljava/lang/String;Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield io.vertx.core.eventbus.impl.OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
astore 3
start local 3 1: aload 1
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeId:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
2: aload 0
aload 2
aload 1
aload 3
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendRemote:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/String;Lio/vertx/core/eventbus/impl/MessageImpl;)V
3: goto 5
4: StackMap locals: io.vertx.core.eventbus.impl.MessageImpl
StackMap stack:
aload 0
aload 2
invokespecial io.vertx.core.eventbus.impl.EventBusImpl.sendOrPub:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)V
5: StackMap locals:
StackMap stack:
return
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/clustered/ClusteredEventBus;
0 6 1 replyDest Ljava/lang/String;
0 6 2 sendContext Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<TT;>;
1 6 3 message Lio/vertx/core/eventbus/impl/MessageImpl;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<TT;>;)V
MethodParameters:
Name Flags
replyDest
sendContext
private void sendRemote(io.vertx.core.eventbus.impl.OutboundDeliveryContext<?>, java.lang.String, io.vertx.core.eventbus.impl.MessageImpl);
descriptor: (Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/String;Lio/vertx/core/eventbus/impl/MessageImpl;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.connections:Ljava/util/concurrent/ConcurrentMap;
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.core.eventbus.impl.clustered.ConnectionHolder
astore 4
start local 4 1: aload 4
ifnonnull 8
2: new io.vertx.core.eventbus.impl.clustered.ConnectionHolder
dup
aload 0
aload 2
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
invokespecial io.vertx.core.eventbus.impl.clustered.ConnectionHolder.<init>:(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Ljava/lang/String;Lio/vertx/core/eventbus/EventBusOptions;)V
astore 4
3: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.connections:Ljava/util/concurrent/ConcurrentMap;
aload 2
aload 4
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.core.eventbus.impl.clustered.ConnectionHolder
astore 5
start local 5 4: aload 5
ifnull 7
5: aload 5
astore 4
6: goto 8
7: StackMap locals: io.vertx.core.eventbus.impl.clustered.ConnectionHolder io.vertx.core.eventbus.impl.clustered.ConnectionHolder
StackMap stack:
aload 4
invokevirtual io.vertx.core.eventbus.impl.clustered.ConnectionHolder.connect:()V
end local 5 8: StackMap locals:
StackMap stack:
aload 4
aload 1
invokevirtual io.vertx.core.eventbus.impl.clustered.ConnectionHolder.writeMessage:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;)V
9: return
end local 4 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/clustered/ClusteredEventBus;
0 10 1 sendContext Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<*>;
0 10 2 remoteNodeId Ljava/lang/String;
0 10 3 message Lio/vertx/core/eventbus/impl/MessageImpl;
1 10 4 holder Lio/vertx/core/eventbus/impl/clustered/ConnectionHolder;
4 8 5 prevHolder Lio/vertx/core/eventbus/impl/clustered/ConnectionHolder;
Signature: (Lio/vertx/core/eventbus/impl/OutboundDeliveryContext<*>;Ljava/lang/String;Lio/vertx/core/eventbus/impl/MessageImpl;)V
MethodParameters:
Name Flags
sendContext
remoteNodeId
message
java.util.concurrent.ConcurrentMap<java.lang.String, io.vertx.core.eventbus.impl.clustered.ConnectionHolder> connections();
descriptor: ()Ljava/util/concurrent/ConcurrentMap;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.connections:Ljava/util/concurrent/ConcurrentMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
Signature: ()Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lio/vertx/core/eventbus/impl/clustered/ConnectionHolder;>;
io.vertx.core.impl.VertxInternal vertx();
descriptor: ()Lio/vertx/core/impl/VertxInternal;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.vertx:Lio/vertx/core/impl/VertxInternal;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
io.vertx.core.eventbus.EventBusOptions options();
descriptor: ()Lio/vertx/core/eventbus/EventBusOptions;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
static io.vertx.core.eventbus.impl.CodecManager access$0(io.vertx.core.eventbus.impl.clustered.ClusteredEventBus);
descriptor: (Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;)Lio/vertx/core/eventbus/impl/CodecManager;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.codecManager:Lio/vertx/core/eventbus/impl/CodecManager;
areturn
LocalVariableTable:
Start End Slot Name Signature
static io.vertx.core.spi.metrics.EventBusMetrics access$1(io.vertx.core.eventbus.impl.clustered.ClusteredEventBus);
descriptor: (Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;)Lio/vertx/core/spi/metrics/EventBusMetrics;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
areturn
LocalVariableTable:
Start End Slot Name Signature
static io.vertx.core.eventbus.ReplyException access$2(io.vertx.core.eventbus.impl.clustered.ClusteredEventBus, io.vertx.core.eventbus.impl.MessageImpl);
descriptor: (Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/eventbus/impl/MessageImpl;)Lio/vertx/core/eventbus/ReplyException;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.deliverMessageLocally:(Lio/vertx/core/eventbus/impl/MessageImpl;)Lio/vertx/core/eventbus/ReplyException;
areturn
LocalVariableTable:
Start End Slot Name Signature
private io.vertx.core.Future lambda$0(java.lang.String, io.vertx.core.net.NetServer);
descriptor: (Ljava/lang/String;Lio/vertx/core/net/NetServer;)Lio/vertx/core/Future;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 2 0: aload 0
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
invokeinterface io.vertx.core.net.NetServer.actualPort:()I
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.getClusterPublicPort:(I)I
istore 3
start local 3 1: aload 0
aload 1
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.getClusterPublicHost:(Ljava/lang/String;)Ljava/lang/String;
astore 4
start local 4 2: aload 0
new io.vertx.core.spi.cluster.NodeInfo
dup
aload 4
iload 3
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
invokevirtual io.vertx.core.eventbus.EventBusOptions.getClusterNodeMetadata:()Lio/vertx/core/json/JsonObject;
invokespecial io.vertx.core.spi.cluster.NodeInfo.<init>:(Ljava/lang/String;ILio/vertx/core/json/JsonObject;)V
putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeInfo:Lio/vertx/core/spi/cluster/NodeInfo;
3: aload 0
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
invokeinterface io.vertx.core.spi.cluster.ClusterManager.getNodeId:()Ljava/lang/String;
putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeId:Ljava/lang/String;
4: invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
astore 5
start local 5 5: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeInfo:Lio/vertx/core/spi/cluster/NodeInfo;
aload 5
invokeinterface io.vertx.core.spi.cluster.ClusterManager.setNodeInfo:(Lio/vertx/core/spi/cluster/NodeInfo;Lio/vertx/core/Promise;)V
6: aload 5
invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
areturn
end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 7 2 v Lio/vertx/core/net/NetServer;
1 7 3 publicPort I
2 7 4 publicHost Ljava/lang/String;
5 7 5 setPromise Lio/vertx/core/Promise<Ljava/lang/Void;>;
private void lambda$1(java.lang.Void);
descriptor: (Ljava/lang/Void;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_1
putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.started:Z
1: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
invokeinterface io.vertx.core.spi.cluster.NodeSelector.eventBusStarted:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 3 1 v Ljava/lang/Void;
private void lambda$2(io.vertx.core.Promise, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
ifnull 3
1: aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
aload 0
aload 1
invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/Promise;)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/clustered/ClusteredEventBus.lambda$3(Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V (7)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.core.net.NetServer.close:(Lio/vertx/core/Handler;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface io.vertx.core.Promise.handle:(Lio/vertx/core/AsyncResult;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 5 2 ar Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
private void lambda$5(io.vertx.core.eventbus.impl.OutboundDeliveryContext, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 3
1: aload 0
aload 1
aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendToNode:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendOrPublishFailed:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/Throwable;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 5 2 ar Lio/vertx/core/AsyncResult<Ljava/lang/String;>;
private void lambda$7(io.vertx.core.eventbus.impl.OutboundDeliveryContext, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Lio/vertx/core/AsyncResult;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
ifeq 3
1: aload 0
aload 1
aload 2
invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
checkcast java.lang.Iterable
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendToNodes:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/Iterable;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendOrPublishFailed:(Lio/vertx/core/eventbus/impl/OutboundDeliveryContext;Ljava/lang/Throwable;)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 5 2 ar Lio/vertx/core/AsyncResult<Ljava/lang/Iterable<Ljava/lang/String;>;>;
private void lambda$8(io.vertx.core.net.NetSocket);
descriptor: (Lio/vertx/core/net/NetSocket;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: iconst_4
invokestatic io.vertx.core.parsetools.RecordParser.newFixed:(I)Lio/vertx/core/parsetools/RecordParser;
astore 2
start local 2 1: new io.vertx.core.eventbus.impl.clustered.ClusteredEventBus$1
dup
aload 0
aload 2
aload 1
invokespecial io.vertx.core.eventbus.impl.clustered.ClusteredEventBus$1.<init>:(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/parsetools/RecordParser;Lio/vertx/core/net/NetSocket;)V
astore 3
start local 3 2: aload 2
aload 3
invokeinterface io.vertx.core.parsetools.RecordParser.setOutput:(Lio/vertx/core/Handler;)V
3: aload 1
aload 2
invokeinterface io.vertx.core.net.NetSocket.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
pop
end local 3 end local 2 4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 5 1 socket Lio/vertx/core/net/NetSocket;
1 4 2 parser Lio/vertx/core/parsetools/RecordParser;
2 4 3 handler Lio/vertx/core/Handler<Lio/vertx/core/buffer/Buffer;>;
private void lambda$3(io.vertx.core.Promise, io.vertx.core.AsyncResult);
descriptor: (Lio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)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.AsyncResult.failed:()Z
ifeq 2
1: getstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/impl/logging/Logger;
ldc "Failed to close server"
aload 2
invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
invokeinterface io.vertx.core.impl.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.connections:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.Promise io.vertx.core.AsyncResult top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.core.eventbus.impl.clustered.ConnectionHolder
astore 3
start local 3 4: aload 3
invokevirtual io.vertx.core.eventbus.impl.clustered.ConnectionHolder.close:()V
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 1
aload 2
invokeinterface io.vertx.core.Promise.handle:(Lio/vertx/core/AsyncResult;)V
7: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
0 8 2 serverClose Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
4 5 3 holder Lio/vertx/core/eventbus/impl/clustered/ConnectionHolder;
}
SourceFile: "ClusteredEventBus.java"
NestMembers:
io.vertx.core.eventbus.impl.clustered.ClusteredEventBus$1
InnerClasses:
io.vertx.core.eventbus.impl.clustered.ClusteredEventBus$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles