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.logging.Logger log;
    descriptor: Lio/vertx/core/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String CLUSTER_PUBLIC_HOST_PROP_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "vertx.cluster.public.host"

  public static final java.lang.String CLUSTER_PUBLIC_PORT_PROP_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "vertx.cluster.public.port"

  private static final io.vertx.core.buffer.Buffer PONG;
    descriptor: Lio/vertx/core/buffer/Buffer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String SERVER_ID_HA_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "server_id"

  private static final java.lang.String SUBS_MAP_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "__vertx.subs"

  private final io.vertx.core.spi.cluster.ClusterManager clusterManager;
    descriptor: Lio/vertx/core/spi/cluster/ClusterManager;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.ConcurrentMap<io.vertx.core.net.impl.ServerID, io.vertx.core.eventbus.impl.clustered.ConnectionHolder> connections;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/eventbus/impl/clustered/ConnectionHolder;>;

  private final io.vertx.core.Context sendNoContext;
    descriptor: Lio/vertx/core/Context;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.vertx.core.eventbus.EventBusOptions options;
    descriptor: Lio/vertx/core/eventbus/EventBusOptions;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.spi.cluster.AsyncMultiMap<java.lang.String, io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo> subs;
    descriptor: Lio/vertx/core/spi/cluster/AsyncMultiMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/vertx/core/spi/cluster/AsyncMultiMap<Ljava/lang/String;Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;>;

  private java.util.Set<java.lang.String> ownSubs;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private io.vertx.core.net.impl.ServerID serverID;
    descriptor: Lio/vertx/core/net/impl/ServerID;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo nodeInfo;
    descriptor: Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;
    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: .line 50
            ldc Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
            putstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/logging/Logger;
         1: .line 55
            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;
         2: .line 57
            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);
    descriptor: (Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/VertxOptions;Lio/vertx/core/spi/cluster/ClusterManager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.impl.VertxInternal vertx
        start local 2 // io.vertx.core.VertxOptions options
        start local 3 // io.vertx.core.spi.cluster.ClusterManager clusterManager
         0: .line 73
            aload 0 /* this */
            aload 1 /* vertx */
            invokespecial io.vertx.core.eventbus.impl.EventBusImpl.<init>:(Lio/vertx/core/impl/VertxInternal;)V
         1: .line 60
            aload 0 /* this */
            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;
         2: .line 65
            aload 0 /* this */
            new io.vertx.core.impl.ConcurrentHashSet
            dup
            invokespecial io.vertx.core.impl.ConcurrentHashSet.<init>:()V
            putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.ownSubs:Ljava/util/Set;
         3: .line 74
            aload 0 /* this */
            aload 2 /* options */
            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: .line 75
            aload 0 /* this */
            aload 3 /* clusterManager */
            putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
         5: .line 76
            aload 0 /* this */
            aload 1 /* vertx */
            invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendNoContext:Lio/vertx/core/Context;
         6: .line 77
            return
        end local 3 // io.vertx.core.spi.cluster.ClusterManager clusterManager
        end local 2 // io.vertx.core.VertxOptions options
        end local 1 // io.vertx.core.impl.VertxInternal vertx
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      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;
    MethodParameters:
                Name  Flags
      vertx           
      options         
      clusterManager  

  private io.vertx.core.net.NetServerOptions getServerOptions();
    descriptor: ()Lio/vertx/core/net/NetServerOptions;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
         0: .line 80
            new io.vertx.core.net.NetServerOptions
            dup
            aload 0 /* this */
            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
            astore 1 /* serverOptions */
        start local 1 // io.vertx.core.net.NetServerOptions serverOptions
         1: .line 81
            aload 1 /* serverOptions */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
            invokevirtual io.vertx.core.eventbus.EventBusOptions.getKeyCertOptions:()Lio/vertx/core/net/KeyCertOptions;
            invokestatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.setCertOptions:(Lio/vertx/core/net/TCPSSLOptions;Lio/vertx/core/net/KeyCertOptions;)V
         2: .line 82
            aload 1 /* serverOptions */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
            invokevirtual io.vertx.core.eventbus.EventBusOptions.getTrustOptions:()Lio/vertx/core/net/TrustOptions;
            invokestatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.setTrustOptions:(Lio/vertx/core/net/TCPSSLOptions;Lio/vertx/core/net/TrustOptions;)V
         3: .line 84
            aload 1 /* serverOptions */
            areturn
        end local 1 // io.vertx.core.net.NetServerOptions serverOptions
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            1    4     1  serverOptions  Lio/vertx/core/net/NetServerOptions;

  static void setCertOptions(io.vertx.core.net.TCPSSLOptions, io.vertx.core.net.KeyCertOptions);
    descriptor: (Lio/vertx/core/net/TCPSSLOptions;Lio/vertx/core/net/KeyCertOptions;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.net.TCPSSLOptions options
        start local 1 // io.vertx.core.net.KeyCertOptions keyCertOptions
         0: .line 88
            aload 1 /* keyCertOptions */
            ifnonnull 2
         1: .line 89
            return
         2: .line 91
      StackMap locals:
      StackMap stack:
            aload 1 /* keyCertOptions */
            instanceof io.vertx.core.net.JksOptions
            ifeq 5
         3: .line 92
            aload 0 /* options */
            aload 1 /* keyCertOptions */
            checkcast io.vertx.core.net.JksOptions
            invokevirtual io.vertx.core.net.TCPSSLOptions.setKeyStoreOptions:(Lio/vertx/core/net/JksOptions;)Lio/vertx/core/net/TCPSSLOptions;
            pop
         4: .line 93
            goto 9
      StackMap locals:
      StackMap stack:
         5: aload 1 /* keyCertOptions */
            instanceof io.vertx.core.net.PfxOptions
            ifeq 8
         6: .line 94
            aload 0 /* options */
            aload 1 /* keyCertOptions */
            checkcast io.vertx.core.net.PfxOptions
            invokevirtual io.vertx.core.net.TCPSSLOptions.setPfxKeyCertOptions:(Lio/vertx/core/net/PfxOptions;)Lio/vertx/core/net/TCPSSLOptions;
            pop
         7: .line 95
            goto 9
         8: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* options */
            aload 1 /* keyCertOptions */
            checkcast io.vertx.core.net.PemKeyCertOptions
            invokevirtual io.vertx.core.net.TCPSSLOptions.setPemKeyCertOptions:(Lio/vertx/core/net/PemKeyCertOptions;)Lio/vertx/core/net/TCPSSLOptions;
            pop
         9: .line 98
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.net.KeyCertOptions keyCertOptions
        end local 0 // io.vertx.core.net.TCPSSLOptions options
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0         options  Lio/vertx/core/net/TCPSSLOptions;
            0   10     1  keyCertOptions  Lio/vertx/core/net/KeyCertOptions;
    MethodParameters:
                Name  Flags
      options         
      keyCertOptions  

  static void setTrustOptions(io.vertx.core.net.TCPSSLOptions, io.vertx.core.net.TrustOptions);
    descriptor: (Lio/vertx/core/net/TCPSSLOptions;Lio/vertx/core/net/TrustOptions;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.net.TCPSSLOptions sslOptions
        start local 1 // io.vertx.core.net.TrustOptions options
         0: .line 101
            aload 1 /* options */
            ifnonnull 2
         1: .line 102
            return
         2: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* options */
            instanceof io.vertx.core.net.JksOptions
            ifeq 5
         3: .line 106
            aload 0 /* sslOptions */
            aload 1 /* options */
            checkcast io.vertx.core.net.JksOptions
            invokevirtual io.vertx.core.net.TCPSSLOptions.setTrustStoreOptions:(Lio/vertx/core/net/JksOptions;)Lio/vertx/core/net/TCPSSLOptions;
            pop
         4: .line 107
            goto 9
      StackMap locals:
      StackMap stack:
         5: aload 1 /* options */
            instanceof io.vertx.core.net.PfxOptions
            ifeq 8
         6: .line 108
            aload 0 /* sslOptions */
            aload 1 /* options */
            checkcast io.vertx.core.net.PfxOptions
            invokevirtual io.vertx.core.net.TCPSSLOptions.setPfxTrustOptions:(Lio/vertx/core/net/PfxOptions;)Lio/vertx/core/net/TCPSSLOptions;
            pop
         7: .line 109
            goto 9
         8: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* sslOptions */
            aload 1 /* options */
            checkcast io.vertx.core.net.PemTrustOptions
            invokevirtual io.vertx.core.net.TCPSSLOptions.setPemTrustOptions:(Lio/vertx/core/net/PemTrustOptions;)Lio/vertx/core/net/TCPSSLOptions;
            pop
         9: .line 112
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.net.TrustOptions options
        end local 0 // io.vertx.core.net.TCPSSLOptions sslOptions
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0  sslOptions  Lio/vertx/core/net/TCPSSLOptions;
            0   10     1     options  Lio/vertx/core/net/TrustOptions;
    MethodParameters:
            Name  Flags
      sslOptions  
      options     

  public void start(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 117
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.vertx:Lio/vertx/core/impl/VertxInternal;
            invokeinterface io.vertx.core.impl.VertxInternal.haManager:()Lio/vertx/core/impl/HAManager;
            astore 2 /* haManager */
        start local 2 // io.vertx.core.impl.HAManager haManager
         1: .line 118
            aload 0 /* this */
            aload 2 /* haManager */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.setClusterViewChangedHandler:(Lio/vertx/core/impl/HAManager;)V
         2: .line 119
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusterManager:Lio/vertx/core/spi/cluster/ClusterManager;
            ldc "__vertx.subs"
            aload 0 /* this */
            aload 2 /* haManager */
            aload 1 /* resultHandler */
            invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/impl/HAManager;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/clustered/ClusteredEventBus.lambda$0(Lio/vertx/core/impl/HAManager;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.spi.cluster.ClusterManager.getAsyncMultiMap:(Ljava/lang/String;Lio/vertx/core/Handler;)V
         3: .line 150
            return
        end local 2 // io.vertx.core.impl.HAManager haManager
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    4     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
            1    4     2      haManager  Lio/vertx/core/impl/HAManager;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  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=3, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.Handler completionHandler
         0: .line 154
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* completionHandler */
            invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;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/clustered/ClusteredEventBus.lambda$4(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokespecial io.vertx.core.eventbus.impl.EventBusImpl.close:(Lio/vertx/core/Handler;)V
         1: .line 175
            return
        end local 1 // io.vertx.core.Handler completionHandler
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    2     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.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=11, locals=9, args_size=7
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // boolean send
        start local 2 // java.lang.String address
        start local 3 // io.vertx.core.MultiMap headers
        start local 4 // java.lang.Object body
        start local 5 // java.lang.String codecName
        start local 6 // io.vertx.core.Handler writeHandler
         0: .line 179
            aload 2 /* address */
            ldc "no null address accepted"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 180
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.codecManager:Lio/vertx/core/eventbus/impl/CodecManager;
            aload 4 /* body */
            aload 5 /* codecName */
            invokevirtual io.vertx.core.eventbus.impl.CodecManager.lookupCodec:(Ljava/lang/Object;Ljava/lang/String;)Lio/vertx/core/eventbus/MessageCodec;
            astore 7 /* codec */
        start local 7 // io.vertx.core.eventbus.MessageCodec codec
         2: .line 182
            new io.vertx.core.eventbus.impl.clustered.ClusteredMessage
            dup
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.serverID:Lio/vertx/core/net/impl/ServerID;
            aload 2 /* address */
            aconst_null
            aload 3 /* headers */
            aload 4 /* body */
            aload 7 /* codec */
            iload 1 /* send */
            aload 0 /* this */
            aload 6 /* writeHandler */
            invokespecial io.vertx.core.eventbus.impl.clustered.ClusteredMessage.<init>:(Lio/vertx/core/net/impl/ServerID;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 /* msg */
        start local 8 // io.vertx.core.eventbus.impl.clustered.ClusteredMessage msg
         3: .line 183
            aload 8 /* msg */
            areturn
        end local 8 // io.vertx.core.eventbus.impl.clustered.ClusteredMessage msg
        end local 7 // io.vertx.core.eventbus.MessageCodec codec
        end local 6 // io.vertx.core.Handler writeHandler
        end local 5 // java.lang.String codecName
        end local 4 // java.lang.Object body
        end local 3 // io.vertx.core.MultiMap headers
        end local 2 // java.lang.String address
        end local 1 // boolean send
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      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;
            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/clustered/ClusteredMessage;
    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> 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=4, locals=6, args_size=6
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // boolean newAddress
        start local 2 // java.lang.String address
        start local 3 // boolean replyHandler
        start local 4 // boolean localOnly
        start local 5 // io.vertx.core.Handler completionHandler
         0: .line 190
            iload 1 /* newAddress */
            ifeq 4
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.subs:Lio/vertx/core/spi/cluster/AsyncMultiMap;
            ifnull 4
            iload 3 /* replyHandler */
            ifne 4
            iload 4 /* localOnly */
            ifne 4
         1: .line 192
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.subs:Lio/vertx/core/spi/cluster/AsyncMultiMap;
            aload 2 /* address */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeInfo:Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;
            aload 5 /* completionHandler */
            invokeinterface io.vertx.core.spi.cluster.AsyncMultiMap.add:(Ljava/lang/Object;Ljava/lang/Object;Lio/vertx/core/Handler;)V
         2: .line 193
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.ownSubs:Ljava/util/Set;
            aload 2 /* address */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 194
            goto 5
         4: .line 195
      StackMap locals:
      StackMap stack:
            aload 5 /* completionHandler */
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         5: .line 197
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.core.Handler completionHandler
        end local 4 // boolean localOnly
        end local 3 // boolean replyHandler
        end local 2 // java.lang.String address
        end local 1 // boolean newAddress
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    6     1         newAddress  Z
            0    6     2            address  Ljava/lang/String;
            0    6     3       replyHandler  Z
            0    6     4          localOnly  Z
            0    6     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  

  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=4, locals=4, args_size=4
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.eventbus.impl.HandlerHolder lastHolder
        start local 2 // java.lang.String address
        start local 3 // io.vertx.core.Handler completionHandler
         0: .line 202
            aload 1 /* lastHolder */
            ifnull 4
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.subs:Lio/vertx/core/spi/cluster/AsyncMultiMap;
            ifnull 4
            aload 1 /* lastHolder */
            invokevirtual io.vertx.core.eventbus.impl.HandlerHolder.isLocalOnly:()Z
            ifne 4
         1: .line 203
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.ownSubs:Ljava/util/Set;
            aload 2 /* address */
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         2: .line 204
            aload 0 /* this */
            aload 2 /* address */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeInfo:Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;
            aload 3 /* completionHandler */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.removeSub:(Ljava/lang/String;Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;Lio/vertx/core/Handler;)V
         3: .line 205
            goto 5
         4: .line 206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* completionHandler */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.callCompletionHandlerAsync:(Lio/vertx/core/Handler;)V
         5: .line 208
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.Handler completionHandler
        end local 2 // java.lang.String address
        end local 1 // io.vertx.core.eventbus.impl.HandlerHolder lastHolder
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0               this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    6     1         lastHolder  Lio/vertx/core/eventbus/impl/HandlerHolder<TT;>;
            0    6     2            address  Ljava/lang/String;
            0    6     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
      lastHolder         
      address            
      completionHandler  

  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=3, locals=3, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
        start local 2 // io.vertx.core.eventbus.impl.MessageImpl replierMessage
         0: .line 212
            aload 0 /* this */
            aload 2 /* replierMessage */
            checkcast io.vertx.core.eventbus.impl.clustered.ClusteredMessage
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredMessage.getSender:()Lio/vertx/core/net/impl/ServerID;
            aload 1 /* sendContext */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.clusteredSendReply:(Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
         1: .line 213
            return
        end local 2 // io.vertx.core.eventbus.impl.MessageImpl replierMessage
        end local 1 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            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=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
         0: .line 217
            aload 1 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.options:Lio/vertx/core/eventbus/DeliveryOptions;
            invokevirtual io.vertx.core.eventbus.DeliveryOptions.isLocalOnly:()Z
            ifeq 7
         1: .line 218
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 5
         2: .line 219
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 1 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
            aload 1 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isSend:()Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext
      StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String
         3: iconst_1
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext
      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: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sendContext */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.deliverMessageLocally:(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
         6: .line 222
            goto 11
      StackMap locals:
      StackMap stack:
         7: invokestatic io.vertx.core.Vertx.currentContext:()Lio/vertx/core/Context;
            ifnonnull 10
         8: .line 224
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendNoContext:Lio/vertx/core/Context;
            aload 0 /* this */
            aload 1 /* sendContext */
            invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/eventbus/impl/EventBusImpl$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$6(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
         9: .line 227
            goto 11
        10: .line 228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.subs:Lio/vertx/core/spi/cluster/AsyncMultiMap;
            aload 1 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
            aload 0 /* this */
            aload 1 /* sendContext */
            invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/eventbus/impl/EventBusImpl$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$8(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.spi.cluster.AsyncMultiMap.get:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
        11: .line 230
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0   12     1  sendContext  Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;)V
    MethodParameters:
             Name  Flags
      sendContext  

  private <T> void onSubsReceived(io.vertx.core.AsyncResult<io.vertx.core.spi.cluster.ChoosableIterable<io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo>>, io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext<T>);
    descriptor: (Lio/vertx/core/AsyncResult;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.AsyncResult asyncResult
        start local 2 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
         0: .line 233
            aload 1 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 11
         1: .line 234
            aload 1 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.core.spi.cluster.ChoosableIterable
            astore 3 /* serverIDs */
        start local 3 // io.vertx.core.spi.cluster.ChoosableIterable serverIDs
         2: .line 235
            aload 3 /* serverIDs */
            ifnull 5
            aload 3 /* serverIDs */
            invokeinterface io.vertx.core.spi.cluster.ChoosableIterable.isEmpty:()Z
            ifne 5
         3: .line 236
            aload 0 /* this */
            aload 3 /* serverIDs */
            aload 2 /* sendContext */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendToSubs:(Lio/vertx/core/spi/cluster/ChoosableIterable;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
         4: .line 237
            goto 15
         5: .line 238
      StackMap locals: io.vertx.core.spi.cluster.ChoosableIterable
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 9
         6: .line 239
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 2 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
            aload 2 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isSend:()Z
            ifeq 7
            iconst_0
            goto 8
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.AsyncResult io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext io.vertx.core.spi.cluster.ChoosableIterable
      StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String
         7: iconst_1
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.AsyncResult io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext io.vertx.core.spi.cluster.ChoosableIterable
      StackMap stack: io.vertx.core.spi.metrics.EventBusMetrics java.lang.String int
         8: iconst_1
            iconst_0
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageSent:(Ljava/lang/String;ZZZ)V
         9: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* sendContext */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.deliverMessageLocally:(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
        end local 3 // io.vertx.core.spi.cluster.ChoosableIterable serverIDs
        10: .line 243
            goto 15
        11: .line 244
      StackMap locals:
      StackMap stack:
            getstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/logging/Logger;
            ldc "Failed to send message"
            aload 1 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        12: .line 245
            aload 2 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.writeHandler:()Lio/vertx/core/Handler;
            astore 3 /* handler */
        start local 3 // io.vertx.core.Handler handler
        13: .line 246
            aload 3 /* handler */
            ifnull 15
        14: .line 247
            aload 3 /* handler */
            aload 1 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.mapEmpty:()Lio/vertx/core/AsyncResult;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 3 // io.vertx.core.Handler handler
        15: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
        end local 1 // io.vertx.core.AsyncResult asyncResult
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0   16     1  asyncResult  Lio/vertx/core/AsyncResult<Lio/vertx/core/spi/cluster/ChoosableIterable<Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;>;>;
            0   16     2  sendContext  Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;
            2   10     3    serverIDs  Lio/vertx/core/spi/cluster/ChoosableIterable<Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;>;
           13   15     3      handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/AsyncResult<Lio/vertx/core/spi/cluster/ChoosableIterable<Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;>;>;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;)V
    MethodParameters:
             Name  Flags
      asyncResult  
      sendContext  

  protected java.lang.String generateReplyAddress();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
         0: .line 255
            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 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      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 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.eventbus.impl.MessageImpl msg
         0: .line 260
            aload 1 /* msg */
            checkcast io.vertx.core.eventbus.impl.clustered.ClusteredMessage
            astore 2 /* clusteredMessage */
        start local 2 // io.vertx.core.eventbus.impl.clustered.ClusteredMessage clusteredMessage
         1: .line 261
            aload 2 /* clusteredMessage */
            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 // io.vertx.core.eventbus.impl.clustered.ClusteredMessage clusteredMessage
        end local 1 // io.vertx.core.eventbus.impl.MessageImpl msg
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      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 void setClusterViewChangedHandler(io.vertx.core.impl.HAManager);
    descriptor: (Lio/vertx/core/impl/HAManager;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.impl.HAManager haManager
         0: .line 265
            aload 1 /* haManager */
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;)Ljava/util/function/Consumer;
              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$9(Ljava/util/Set;)V (7)
                  (Ljava/util/Set;)V
            invokevirtual io.vertx.core.impl.HAManager.setClusterViewChangedHandler:(Ljava/util/function/Consumer;)V
         1: .line 280
            return
        end local 1 // io.vertx.core.impl.HAManager haManager
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    2     1  haManager  Lio/vertx/core/impl/HAManager;
    MethodParameters:
           Name  Flags
      haManager  

  private int getClusterPublicPort(io.vertx.core.eventbus.EventBusOptions, int);
    descriptor: (Lio/vertx/core/eventbus/EventBusOptions;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.eventbus.EventBusOptions options
        start local 2 // int actualPort
         0: .line 284
            ldc "vertx.cluster.public.port"
            aload 1 /* options */
            invokevirtual io.vertx.core.eventbus.EventBusOptions.getClusterPublicPort:()I
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 3 /* publicPort */
        start local 3 // int publicPort
         1: .line 285
            iload 3 /* publicPort */
            iconst_m1
            if_icmpne 3
         2: .line 287
            iload 2 /* actualPort */
            istore 3 /* publicPort */
         3: .line 289
      StackMap locals: int
      StackMap stack:
            iload 3 /* publicPort */
            ireturn
        end local 3 // int publicPort
        end local 2 // int actualPort
        end local 1 // io.vertx.core.eventbus.EventBusOptions options
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    4     1     options  Lio/vertx/core/eventbus/EventBusOptions;
            0    4     2  actualPort  I
            1    4     3  publicPort  I
    MethodParameters:
            Name  Flags
      options     
      actualPort  

  private java.lang.String getClusterPublicHost(io.vertx.core.eventbus.EventBusOptions);
    descriptor: (Lio/vertx/core/eventbus/EventBusOptions;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.eventbus.EventBusOptions options
         0: .line 294
            ldc "vertx.cluster.public.host"
            aload 1 /* options */
            invokevirtual io.vertx.core.eventbus.EventBusOptions.getClusterPublicHost:()Ljava/lang/String;
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* publicHost */
        start local 2 // java.lang.String publicHost
         1: .line 295
            aload 2 /* publicHost */
            ifnonnull 3
         2: .line 296
            aload 1 /* options */
            invokevirtual io.vertx.core.eventbus.EventBusOptions.getHost:()Ljava/lang/String;
            astore 2 /* publicHost */
         3: .line 298
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* publicHost */
            areturn
        end local 2 // java.lang.String publicHost
        end local 1 // io.vertx.core.eventbus.EventBusOptions options
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    4     1     options  Lio/vertx/core/eventbus/EventBusOptions;
            1    4     2  publicHost  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      options  

  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 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
         0: .line 302
            aload 0 /* this */
            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$14(Lio/vertx/core/net/NetSocket;)V (7)
                  (Lio/vertx/core/net/NetSocket;)V
            areturn
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      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 sendToSubs(io.vertx.core.spi.cluster.ChoosableIterable<io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo>, io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext<T>);
    descriptor: (Lio/vertx/core/spi/cluster/ChoosableIterable;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.spi.cluster.ChoosableIterable subs
        start local 2 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
         0: .line 334
            aload 2 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
            astore 3 /* address */
        start local 3 // java.lang.String address
         1: .line 335
            aload 2 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.isSend:()Z
            ifeq 15
         2: .line 337
            aload 1 /* subs */
            invokeinterface io.vertx.core.spi.cluster.ChoosableIterable.choose:()Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo
            astore 4 /* ci */
        start local 4 // io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo ci
         3: .line 338
            aload 4 /* ci */
            ifnonnull 4
            aconst_null
            goto 5
      StackMap locals: java.lang.String io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo
      StackMap stack:
         4: aload 4 /* ci */
            getfield io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo.serverID:Lio/vertx/core/net/impl/ServerID;
      StackMap locals:
      StackMap stack: io.vertx.core.net.impl.ServerID
         5: astore 5 /* sid */
        start local 5 // io.vertx.core.net.impl.ServerID sid
         6: .line 339
            aload 5 /* sid */
            ifnull 11
            aload 5 /* sid */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.serverID:Lio/vertx/core/net/impl/ServerID;
            invokevirtual io.vertx.core.net.impl.ServerID.equals:(Ljava/lang/Object;)Z
            ifne 11
         7: .line 340
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 9
         8: .line 341
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 3 /* address */
            iconst_0
            iconst_0
            iconst_1
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageSent:(Ljava/lang/String;ZZZ)V
         9: .line 343
      StackMap locals: io.vertx.core.net.impl.ServerID
      StackMap stack:
            aload 0 /* this */
            aload 5 /* sid */
            aload 2 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendRemote:(Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/eventbus/impl/MessageImpl;)V
        10: .line 344
            goto 29
        11: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 13
        12: .line 346
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 3 /* address */
            iconst_0
            iconst_1
            iconst_0
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageSent:(Ljava/lang/String;ZZZ)V
        13: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* sendContext */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.deliverMessageLocally:(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
        end local 5 // io.vertx.core.net.impl.ServerID sid
        end local 4 // io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo ci
        14: .line 350
            goto 29
        15: .line 352
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* local */
        start local 4 // boolean local
        16: .line 353
            iconst_0
            istore 5 /* remote */
        start local 5 // boolean remote
        17: .line 354
            aload 1 /* subs */
            invokeinterface io.vertx.core.spi.cluster.ChoosableIterable.iterator:()Ljava/util/Iterator;
            astore 7
            goto 24
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.spi.cluster.ChoosableIterable io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext java.lang.String int int top java.util.Iterator
      StackMap stack:
        18: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo
            astore 6 /* ci */
        start local 6 // io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo ci
        19: .line 355
            aload 6 /* ci */
            getfield io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo.serverID:Lio/vertx/core/net/impl/ServerID;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.serverID:Lio/vertx/core/net/impl/ServerID;
            invokevirtual io.vertx.core.net.impl.ServerID.equals:(Ljava/lang/Object;)Z
            ifne 23
        20: .line 356
            iconst_1
            istore 5 /* remote */
        21: .line 357
            aload 0 /* this */
            aload 6 /* ci */
            getfield io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo.serverID:Lio/vertx/core/net/impl/ServerID;
            aload 2 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendRemote:(Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/eventbus/impl/MessageImpl;)V
        22: .line 358
            goto 24
        23: .line 359
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.spi.cluster.ChoosableIterable io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext java.lang.String int int io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo java.util.Iterator
      StackMap stack:
            iconst_1
            istore 4 /* local */
        end local 6 // io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo ci
        24: .line 354
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.spi.cluster.ChoosableIterable io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext java.lang.String int int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        25: .line 362
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 27
        26: .line 363
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 3 /* address */
            iconst_1
            iload 4 /* local */
            iload 5 /* remote */
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageSent:(Ljava/lang/String;ZZZ)V
        27: .line 365
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.spi.cluster.ChoosableIterable io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext java.lang.String int int
      StackMap stack:
            iload 4 /* local */
            ifeq 29
        28: .line 366
            aload 0 /* this */
            aload 2 /* sendContext */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.deliverMessageLocally:(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
        end local 5 // boolean remote
        end local 4 // boolean local
        29: .line 369
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String address
        end local 2 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
        end local 1 // io.vertx.core.spi.cluster.ChoosableIterable subs
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   30     0         this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0   30     1         subs  Lio/vertx/core/spi/cluster/ChoosableIterable<Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;>;
            0   30     2  sendContext  Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;
            1   30     3      address  Ljava/lang/String;
            3   14     4           ci  Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;
            6   14     5          sid  Lio/vertx/core/net/impl/ServerID;
           16   29     4        local  Z
           17   29     5       remote  Z
           19   24     6           ci  Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/spi/cluster/ChoosableIterable<Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;>;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;)V
    MethodParameters:
             Name  Flags
      subs         
      sendContext  

  private <T> void clusteredSendReply(io.vertx.core.net.impl.ServerID, io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext<T>);
    descriptor: (Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.net.impl.ServerID replyDest
        start local 2 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
         0: .line 372
            aload 2 /* sendContext */
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            astore 3 /* message */
        start local 3 // io.vertx.core.eventbus.impl.MessageImpl message
         1: .line 373
            aload 3 /* message */
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
            astore 4 /* address */
        start local 4 // java.lang.String address
         2: .line 374
            aload 1 /* replyDest */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.serverID:Lio/vertx/core/net/impl/ServerID;
            invokevirtual io.vertx.core.net.impl.ServerID.equals:(Ljava/lang/Object;)Z
            ifne 7
         3: .line 375
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 5
         4: .line 376
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 4 /* address */
            iconst_0
            iconst_0
            iconst_1
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageSent:(Ljava/lang/String;ZZZ)V
         5: .line 378
      StackMap locals: io.vertx.core.eventbus.impl.MessageImpl java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* replyDest */
            aload 3 /* message */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.sendRemote:(Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/eventbus/impl/MessageImpl;)V
         6: .line 379
            goto 10
         7: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            ifnull 9
         8: .line 381
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.metrics:Lio/vertx/core/spi/metrics/EventBusMetrics;
            aload 4 /* address */
            iconst_0
            iconst_1
            iconst_0
            invokeinterface io.vertx.core.spi.metrics.EventBusMetrics.messageSent:(Ljava/lang/String;ZZZ)V
         9: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* sendContext */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.deliverMessageLocally:(Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
        10: .line 385
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String address
        end local 3 // io.vertx.core.eventbus.impl.MessageImpl message
        end local 2 // io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext sendContext
        end local 1 // io.vertx.core.net.impl.ServerID replyDest
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0   11     1    replyDest  Lio/vertx/core/net/impl/ServerID;
            0   11     2  sendContext  Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;
            1   11     3      message  Lio/vertx/core/eventbus/impl/MessageImpl;
            2   11     4      address  Ljava/lang/String;
    Signature: <T:Ljava/lang/Object;>(Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext<TT;>;)V
    MethodParameters:
             Name  Flags
      replyDest    
      sendContext  

  private void sendRemote(io.vertx.core.net.impl.ServerID, io.vertx.core.eventbus.impl.MessageImpl);
    descriptor: (Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/eventbus/impl/MessageImpl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.net.impl.ServerID theServerID
        start local 2 // io.vertx.core.eventbus.impl.MessageImpl message
         0: .line 393
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.connections:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* theServerID */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.impl.clustered.ConnectionHolder
            astore 3 /* holder */
        start local 3 // io.vertx.core.eventbus.impl.clustered.ConnectionHolder holder
         1: .line 394
            aload 3 /* holder */
            ifnonnull 8
         2: .line 397
            new io.vertx.core.eventbus.impl.clustered.ConnectionHolder
            dup
            aload 0 /* this */
            aload 1 /* theServerID */
            aload 0 /* this */
            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;Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/eventbus/EventBusOptions;)V
            astore 3 /* holder */
         3: .line 398
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.connections:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* theServerID */
            aload 3 /* holder */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.eventbus.impl.clustered.ConnectionHolder
            astore 4 /* prevHolder */
        start local 4 // io.vertx.core.eventbus.impl.clustered.ConnectionHolder prevHolder
         4: .line 399
            aload 4 /* prevHolder */
            ifnull 7
         5: .line 401
            aload 4 /* prevHolder */
            astore 3 /* holder */
         6: .line 402
            goto 8
         7: .line 403
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ConnectionHolder io.vertx.core.eventbus.impl.clustered.ConnectionHolder
      StackMap stack:
            aload 3 /* holder */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ConnectionHolder.connect:()V
        end local 4 // io.vertx.core.eventbus.impl.clustered.ConnectionHolder prevHolder
         8: .line 406
      StackMap locals:
      StackMap stack:
            aload 3 /* holder */
            aload 2 /* message */
            checkcast io.vertx.core.eventbus.impl.clustered.ClusteredMessage
            invokevirtual io.vertx.core.eventbus.impl.clustered.ConnectionHolder.writeMessage:(Lio/vertx/core/eventbus/impl/clustered/ClusteredMessage;)V
         9: .line 407
            return
        end local 3 // io.vertx.core.eventbus.impl.clustered.ConnectionHolder holder
        end local 2 // io.vertx.core.eventbus.impl.MessageImpl message
        end local 1 // io.vertx.core.net.impl.ServerID theServerID
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0   10     1  theServerID  Lio/vertx/core/net/impl/ServerID;
            0   10     2      message  Lio/vertx/core/eventbus/impl/MessageImpl;
            1   10     3       holder  Lio/vertx/core/eventbus/impl/clustered/ConnectionHolder;
            4    8     4   prevHolder  Lio/vertx/core/eventbus/impl/clustered/ConnectionHolder;
    MethodParameters:
             Name  Flags
      theServerID  
      message      

  private void removeSub(java.lang.String, io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;Lio/vertx/core/Handler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // java.lang.String subName
        start local 2 // io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo node
        start local 3 // io.vertx.core.Handler completionHandler
         0: .line 410
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.subs:Lio/vertx/core/spi/cluster/AsyncMultiMap;
            aload 1 /* subName */
            aload 2 /* node */
            aload 3 /* completionHandler */
            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/clustered/ClusteredEventBus.lambda$15(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.spi.cluster.AsyncMultiMap.remove:(Ljava/lang/Object;Ljava/lang/Object;Lio/vertx/core/Handler;)V
         1: .line 426
            return
        end local 3 // io.vertx.core.Handler completionHandler
        end local 2 // io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo node
        end local 1 // java.lang.String subName
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    2     1            subName  Ljava/lang/String;
            0    2     2               node  Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;
            0    2     3  completionHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
                   Name  Flags
      subName            
      node               
      completionHandler  

  java.util.concurrent.ConcurrentMap<io.vertx.core.net.impl.ServerID, 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 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
         0: .line 429
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.connections:Ljava/util/concurrent/ConcurrentMap;
            areturn
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
    Signature: ()Ljava/util/concurrent/ConcurrentMap<Lio/vertx/core/net/impl/ServerID;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 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
         0: .line 433
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.vertx:Lio/vertx/core/impl/VertxInternal;
            areturn
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      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 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
         0: .line 437
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
            areturn
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      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: .line 48
            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: .line 48
            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: .line 1
            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 void lambda$0(io.vertx.core.impl.HAManager, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/impl/HAManager;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 3 // io.vertx.core.AsyncResult ar1
         0: .line 120
            aload 3 /* ar1 */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 6
         1: .line 121
            aload 0 /* this */
            aload 3 /* ar1 */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.core.spi.cluster.AsyncMultiMap
            putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.subs:Lio/vertx/core/spi/cluster/AsyncMultiMap;
         2: .line 122
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.getServerOptions:()Lio/vertx/core/net/NetServerOptions;
            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;
         3: .line 124
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
            aload 0 /* this */
            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
         4: .line 125
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
            aload 0 /* this */
            aload 1
            aload 2
            invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/impl/HAManager;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/clustered/ClusteredEventBus.lambda$1(Lio/vertx/core/impl/HAManager;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.net.NetServer.listen:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetServer;
            pop
         5: .line 146
            goto 7
         6: .line 147
      StackMap locals:
      StackMap stack:
            aload 2
            aload 3 /* ar1 */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         7: .line 149
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult ar1
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    8     3   ar1  Lio/vertx/core/AsyncResult<Lio/vertx/core/spi/cluster/AsyncMultiMap<Ljava/lang/String;Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;>;>;

  private void lambda$4(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 2 // io.vertx.core.AsyncResult ar1
         0: .line 155
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
            ifnull 3
         1: .line 156
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.server:Lio/vertx/core/net/NetServer;
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;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/clustered/ClusteredEventBus.lambda$5(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.net.NetServer.close:(Lio/vertx/core/Handler;)V
         2: .line 168
            goto 5
         3: .line 169
      StackMap locals:
      StackMap stack:
            aload 1
            ifnull 5
         4: .line 170
            aload 1
            aload 2 /* ar1 */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         5: .line 173
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar1
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    6     2   ar1  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$6(io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext, java.lang.Void);
    descriptor: (Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 2 // java.lang.Void v
         0: .line 225
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.subs:Lio/vertx/core/spi/cluster/AsyncMultiMap;
            aload 1
            getfield io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext.message:Lio/vertx/core/eventbus/impl/MessageImpl;
            invokevirtual io.vertx.core.eventbus.impl.MessageImpl.address:()Ljava/lang/String;
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/eventbus/impl/EventBusImpl$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/EventBusImpl$OutboundDeliveryContext;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.spi.cluster.AsyncMultiMap.get:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
         1: .line 226
            return
        end local 2 // java.lang.Void v
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    2     2     v  Ljava/lang/Void;

  private void lambda$8(io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 228
            aload 0 /* this */
            aload 2 /* ar */
            aload 1
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.onSubsReceived:(Lio/vertx/core/AsyncResult;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    1     2    ar  Lio/vertx/core/AsyncResult<Lio/vertx/core/spi/cluster/ChoosableIterable<Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;>;>;

  private void lambda$9(java.util.Set);
    descriptor: (Ljava/util/Set;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // java.util.Set members
         0: .line 266
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.ownSubs:Ljava/util/Set;
            aload 0 /* this */
            invokedynamic accept(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;)Ljava/util/function/Consumer;
              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$10(Ljava/lang/String;)V (7)
                  (Ljava/lang/String;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
         1: .line 274
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.subs:Lio/vertx/core/spi/cluster/AsyncMultiMap;
            aload 1 /* members */
            invokedynamic test(Ljava/util/Set;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  io/vertx/core/eventbus/impl/clustered/ClusteredEventBus.lambda$12(Ljava/util/Set;Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;)Z (6)
                  (Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;)Z
                  1
            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/clustered/ClusteredEventBus.lambda$13(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.spi.cluster.AsyncMultiMap.removeAllMatching:(Ljava/util/function/Predicate;Lio/vertx/core/Handler;)V
         2: .line 279
            return
        end local 1 // java.util.Set members
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    3     1  members  Ljava/util/Set<Ljava/lang/String;>;

  private void lambda$14(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 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // io.vertx.core.net.NetSocket socket
         0: .line 303
            iconst_4
            invokestatic io.vertx.core.parsetools.RecordParser.newFixed:(I)Lio/vertx/core/parsetools/RecordParser;
            astore 2 /* parser */
        start local 2 // io.vertx.core.parsetools.RecordParser parser
         1: .line 304
            new io.vertx.core.eventbus.impl.clustered.ClusteredEventBus$1
            dup
            aload 0 /* this */
            aload 2 /* parser */
            aload 1 /* socket */
            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 /* handler */
        start local 3 // io.vertx.core.Handler handler
         2: .line 328
            aload 2 /* parser */
            aload 3 /* handler */
            invokeinterface io.vertx.core.parsetools.RecordParser.setOutput:(Lio/vertx/core/Handler;)V
         3: .line 329
            aload 1 /* socket */
            aload 2 /* parser */
            invokeinterface io.vertx.core.net.NetSocket.handler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/NetSocket;
            pop
        end local 3 // io.vertx.core.Handler handler
        end local 2 // io.vertx.core.parsetools.RecordParser parser
         4: .line 330
            return
        end local 1 // io.vertx.core.net.NetSocket socket
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      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 static void lambda$15(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 411
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifne 3
         1: .line 412
            getstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/logging/Logger;
            ldc "Failed to remove sub"
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         2: .line 413
            goto 9
         3: .line 414
      StackMap locals:
      StackMap stack:
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 7
         4: .line 415
            aload 0
            ifnull 9
         5: .line 416
            aload 0
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 418
            goto 9
         7: .line 419
      StackMap locals:
      StackMap stack:
            aload 0
            ifnull 9
         8: .line 420
            aload 0
            ldc "sub not found"
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         9: .line 425
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     1    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Boolean;>;

  private void lambda$1(io.vertx.core.impl.HAManager, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/impl/HAManager;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 3 // io.vertx.core.AsyncResult asyncResult
         0: .line 126
            aload 3 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 9
         1: .line 127
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
            aload 0 /* this */
            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:(Lio/vertx/core/eventbus/EventBusOptions;I)I
            istore 4 /* serverPort */
        start local 4 // int serverPort
         2: .line 128
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.options:Lio/vertx/core/eventbus/EventBusOptions;
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.getClusterPublicHost:(Lio/vertx/core/eventbus/EventBusOptions;)Ljava/lang/String;
            astore 5 /* serverHost */
        start local 5 // java.lang.String serverHost
         3: .line 129
            aload 0 /* this */
            new io.vertx.core.net.impl.ServerID
            dup
            iload 4 /* serverPort */
            aload 5 /* serverHost */
            invokespecial io.vertx.core.net.impl.ServerID.<init>:(ILjava/lang/String;)V
            putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.serverID:Lio/vertx/core/net/impl/ServerID;
         4: .line 130
            aload 0 /* this */
            new io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo
            dup
            aload 0 /* this */
            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;
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.serverID:Lio/vertx/core/net/impl/ServerID;
            invokespecial io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo.<init>:(Ljava/lang/String;Lio/vertx/core/net/impl/ServerID;)V
            putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeInfo:Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;
         5: .line 131
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            aload 1
            invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;Lio/vertx/core/impl/HAManager;)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/impl/HAManager;Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         6: .line 134
            iconst_0
            aload 0 /* this */
            aload 2
            invokedynamic handle(Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;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/clustered/ClusteredEventBus.lambda$3(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
         7: .line 131
            invokeinterface io.vertx.core.impl.VertxInternal.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
        end local 5 // java.lang.String serverHost
        end local 4 // int serverPort
         8: .line 142
            goto 10
         9: .line 143
      StackMap locals:
      StackMap stack:
            aload 2
            aload 3 /* asyncResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        10: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult asyncResult
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0   11     3  asyncResult  Lio/vertx/core/AsyncResult<Lio/vertx/core/net/NetServer;>;
            2    8     4   serverPort  I
            3    8     5   serverHost  Ljava/lang/String;

  private void lambda$5(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 157
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 2
         1: .line 158
            getstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/logging/Logger;
            ldc "Failed to close server"
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         2: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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.Handler 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 /* holder */
        start local 3 // io.vertx.core.eventbus.impl.clustered.ConnectionHolder holder
         4: .line 162
            aload 3 /* holder */
            invokevirtual io.vertx.core.eventbus.impl.clustered.ConnectionHolder.close:()V
        end local 3 // io.vertx.core.eventbus.impl.clustered.ConnectionHolder holder
         5: .line 161
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 164
            aload 1
            ifnull 8
         7: .line 165
            aload 1
            aload 2 /* ar */
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         8: .line 167
      StackMap locals: io.vertx.core.eventbus.impl.clustered.ClusteredEventBus io.vertx.core.Handler io.vertx.core.AsyncResult
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    9     2      ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
            4    5     3  holder  Lio/vertx/core/eventbus/impl/clustered/ConnectionHolder;

  private void lambda$7(io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 225
            aload 0 /* this */
            aload 2 /* ar */
            aload 1
            invokevirtual io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.onSubsReceived:(Lio/vertx/core/AsyncResult;Lio/vertx/core/eventbus/impl/EventBusImpl$OutboundDeliveryContext;)V
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    1     2    ar  Lio/vertx/core/AsyncResult<Lio/vertx/core/spi/cluster/ChoosableIterable<Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;>;>;

  private void lambda$10(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 1 // java.lang.String address
         0: .line 267
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.subs:Lio/vertx/core/spi/cluster/AsyncMultiMap;
            aload 1 /* address */
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.nodeInfo:Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;
            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/clustered/ClusteredEventBus.lambda$11(Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.core.spi.cluster.AsyncMultiMap.add:(Ljava/lang/Object;Ljava/lang/Object;Lio/vertx/core/Handler;)V
         1: .line 272
            return
        end local 1 // java.lang.String address
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    2     1  address  Ljava/lang/String;

  private static boolean lambda$12(java.util.Set, io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo);
    descriptor: (Ljava/util/Set;Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo ci
         0: .line 274
            aload 0
            aload 1 /* ci */
            getfield io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo.nodeId:Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // io.vertx.core.eventbus.impl.clustered.ClusterNodeInfo ci
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1    ci  Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;

  private static void lambda$13(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult removeResult
         0: .line 275
            aload 0 /* removeResult */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 2
         1: .line 276
            getstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/logging/Logger;
            ldc "Error removing subs"
            aload 0 /* removeResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         2: .line 278
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult removeResult
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  removeResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private void lambda$2(io.vertx.core.impl.HAManager, io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/impl/HAManager;Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 2 // io.vertx.core.Promise fut
         0: .line 132
            aload 1
            ldc "server_id"
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            ldc "host"
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.serverID:Lio/vertx/core/net/impl/ServerID;
            getfield io.vertx.core.net.impl.ServerID.host:Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            ldc "port"
            aload 0 /* this */
            getfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.serverID:Lio/vertx/core/net/impl/ServerID;
            getfield io.vertx.core.net.impl.ServerID.port:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Integer;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.impl.HAManager.addDataToAHAInfo:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)V
         1: .line 133
            aload 2 /* fut */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 134
            return
        end local 2 // io.vertx.core.Promise fut
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    3     2   fut  Lio/vertx/core/Promise<Ljava/lang/Object;>;

  private void lambda$3(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
        start local 2 // io.vertx.core.AsyncResult ar2
         0: .line 135
            aload 2 /* ar2 */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 4
         1: .line 136
            aload 0 /* this */
            iconst_1
            putfield io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.started:Z
         2: .line 137
            aload 1
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         3: .line 138
            goto 5
         4: .line 139
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* ar2 */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         5: .line 141
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar2
        end local 0 // io.vertx.core.eventbus.impl.clustered.ClusteredEventBus this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lio/vertx/core/eventbus/impl/clustered/ClusteredEventBus;
            0    6     2   ar2  Lio/vertx/core/AsyncResult<Ljava/lang/Object;>;

  private static void lambda$11(io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.core.AsyncResult addResult
         0: .line 268
            aload 0 /* addResult */
            invokeinterface io.vertx.core.AsyncResult.failed:()Z
            ifeq 2
         1: .line 269
            getstatic io.vertx.core.eventbus.impl.clustered.ClusteredEventBus.log:Lio/vertx/core/logging/Logger;
            ldc "Failed to update subs map with self"
            aload 0 /* addResult */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         2: .line 271
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.vertx.core.AsyncResult addResult
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  addResult  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;

  private static java.lang.Object $deserializeLambda$(java.lang.invoke.SerializedLambda);
    descriptor: (Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=1
         0: .line 1
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getImplMethodName:()Ljava/lang/String;
            astore 1
            iconst_m1
            istore 2
            aload 1
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 1
            471912478: 1
              default: 2
          }
      StackMap locals: java.lang.String int
      StackMap stack:
         1: aload 1
            ldc "lambda$12"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_0
            istore 2
      StackMap locals:
      StackMap stack:
         2: iload 2
            lookupswitch { // 1
                    0: 3
              default: 4
          }
      StackMap locals:
      StackMap stack:
         3: aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getImplMethodKind:()I
            bipush 6
            if_icmpne 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceClass:()Ljava/lang/String;
            ldc "java/util/function/Predicate"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodName:()Ljava/lang/String;
            ldc "test"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getFunctionalInterfaceMethodSignature:()Ljava/lang/String;
            ldc "(Ljava/lang/Object;)Z"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getImplClass:()Ljava/lang/String;
            ldc "io/vertx/core/eventbus/impl/clustered/ClusteredEventBus"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            invokevirtual java.lang.invoke.SerializedLambda.getImplMethodSignature:()Ljava/lang/String;
            ldc "(Ljava/util/Set;Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;)Z"
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0
            iconst_0
            invokevirtual java.lang.invoke.SerializedLambda.getCapturedArg:(I)Ljava/lang/Object;
            checkcast java.util.Set
            invokedynamic test(Ljava/util/Set;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.altMetafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  io/vertx/core/eventbus/impl/clustered/ClusteredEventBus.lambda$12(Ljava/util/Set;Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;)Z (6)
                  (Lio/vertx/core/eventbus/impl/clustered/ClusterNodeInfo;)Z
                  1
            areturn
      StackMap locals:
      StackMap stack:
         4: new java.lang.IllegalArgumentException
            dup
            ldc "Invalid lambda deserialization"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ClusteredEventBus.java"
NestMembers:
  io.vertx.core.eventbus.impl.clustered.ClusteredEventBus$1
InnerClasses:
  protected OutboundDeliveryContext = io.vertx.core.eventbus.impl.EventBusImpl$OutboundDeliveryContext of io.vertx.core.eventbus.impl.EventBusImpl
  io.vertx.core.eventbus.impl.clustered.ClusteredEventBus$1
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles