class io.vertx.core.net.impl.NetServerImpl$NetServerWorker implements io.vertx.core.Handler<io.netty.channel.Channel>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.vertx.core.net.impl.NetServerImpl$NetServerWorker
  super_class: java.lang.Object
{
  private final io.vertx.core.impl.ContextInternal context;
    descriptor: Lio/vertx/core/impl/ContextInternal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.Handler<io.vertx.core.net.NetSocket> connectionHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/vertx/core/Handler<Lio/vertx/core/net/NetSocket;>;

  private final io.vertx.core.Handler<java.lang.Throwable> exceptionHandler;
    descriptor: Lio/vertx/core/Handler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/vertx/core/Handler<Ljava/lang/Throwable;>;

  final io.vertx.core.net.impl.NetServerImpl this$0;
    descriptor: Lio/vertx/core/net/impl/NetServerImpl;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.vertx.core.impl.ContextInternal, io.vertx.core.Handler<io.vertx.core.net.NetSocket>, io.vertx.core.Handler<java.lang.Throwable>);
    descriptor: (Lio/vertx/core/net/impl/NetServerImpl;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;Lio/vertx/core/Handler;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 2 // io.vertx.core.impl.ContextInternal context
        start local 3 // io.vertx.core.Handler connectionHandler
        start local 4 // io.vertx.core.Handler exceptionHandler
         0: .line 237
            aload 0 /* this */
            aload 1
            putfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 238
            aload 0 /* this */
            aload 2 /* context */
            putfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.context:Lio/vertx/core/impl/ContextInternal;
         2: .line 239
            aload 0 /* this */
            aload 3 /* connectionHandler */
            putfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.connectionHandler:Lio/vertx/core/Handler;
         3: .line 240
            aload 0 /* this */
            aload 4 /* exceptionHandler */
            putfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.exceptionHandler:Lio/vertx/core/Handler;
         4: .line 241
            return
        end local 4 // io.vertx.core.Handler exceptionHandler
        end local 3 // io.vertx.core.Handler connectionHandler
        end local 2 // io.vertx.core.impl.ContextInternal context
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0    5     2            context  Lio/vertx/core/impl/ContextInternal;
            0    5     3  connectionHandler  Lio/vertx/core/Handler<Lio/vertx/core/net/NetSocket;>;
            0    5     4   exceptionHandler  Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
    Signature: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler<Lio/vertx/core/net/NetSocket;>;Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)V
    MethodParameters:
                   Name  Flags
      this$0             final
      context            
      connectionHandler  
      exceptionHandler   

  public void handle(io.netty.channel.Channel);
    descriptor: (Lio/netty/channel/Channel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=4, args_size=2
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 1 // io.netty.channel.Channel ch
         0: .line 245
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            invokevirtual io.vertx.core.net.impl.NetServerImpl.accept:()Z
            ifne 3
         1: .line 246
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.close:()Lio/netty/channel/ChannelFuture;
            pop
         2: .line 247
            return
         3: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.options:Lio/vertx/core/net/NetServerOptions;
            invokevirtual io.vertx.core.net.NetServerOptions.isUseProxyProtocol:()Z
            invokestatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.canUseProxyProtocol:(Z)Z
            ifeq 14
         4: .line 251
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.eventLoop:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
            astore 3 /* p */
        start local 3 // io.netty.util.concurrent.Promise p
         5: .line 252
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            iconst_1
            anewarray io.netty.channel.ChannelHandler
            dup
            iconst_0
            new io.netty.handler.codec.haproxy.HAProxyMessageDecoder
            dup
            invokespecial io.netty.handler.codec.haproxy.HAProxyMessageDecoder.<init>:()V
            aastore
            invokeinterface io.netty.channel.ChannelPipeline.addLast:([Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         6: .line 253
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.options:Lio/vertx/core/net/NetServerOptions;
            invokevirtual io.vertx.core.net.NetServerOptions.getProxyProtocolTimeout:()J
            lconst_0
            lcmp
            ifle 10
         7: .line 254
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            ldc "idle"
            new io.netty.handler.timeout.IdleStateHandler
            dup
            lconst_0
            lconst_0
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.options:Lio/vertx/core/net/NetServerOptions;
            invokevirtual io.vertx.core.net.NetServerOptions.getProxyProtocolTimeout:()J
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.options:Lio/vertx/core/net/NetServerOptions;
            invokevirtual io.vertx.core.net.NetServerOptions.getProxyProtocolTimeoutUnit:()Ljava/util/concurrent/TimeUnit;
            invokespecial io.netty.handler.timeout.IdleStateHandler.<init>:(JJJLjava/util/concurrent/TimeUnit;)V
            dup
            astore 2 /* idle */
        start local 2 // io.netty.handler.timeout.IdleStateHandler idle
         8: invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         9: .line 255
            goto 11
        end local 2 // io.netty.handler.timeout.IdleStateHandler idle
        10: .line 256
      StackMap locals: io.vertx.core.net.impl.NetServerImpl$NetServerWorker io.netty.channel.Channel top io.netty.util.concurrent.Promise
      StackMap stack:
            aconst_null
            astore 2 /* idle */
        start local 2 // io.netty.handler.timeout.IdleStateHandler idle
        11: .line 258
      StackMap locals: io.vertx.core.net.impl.NetServerImpl$NetServerWorker io.netty.channel.Channel io.netty.handler.timeout.IdleStateHandler io.netty.util.concurrent.Promise
      StackMap stack:
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            iconst_1
            anewarray io.netty.channel.ChannelHandler
            dup
            iconst_0
            new io.vertx.core.net.impl.HAProxyMessageCompletionHandler
            dup
            aload 3 /* p */
            invokespecial io.vertx.core.net.impl.HAProxyMessageCompletionHandler.<init>:(Lio/netty/util/concurrent/Promise;)V
            aastore
            invokeinterface io.netty.channel.ChannelPipeline.addLast:([Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
        12: .line 259
            aload 3 /* p */
            aload 0 /* this */
            aload 2 /* idle */
            aload 1 /* ch */
            invokedynamic operationComplete(Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;Lio/netty/handler/timeout/IdleStateHandler;Lio/netty/channel/Channel;)Lio/netty/util/concurrent/GenericFutureListener;
              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:
                  (Lio/netty/util/concurrent/Future;)V
                  io/vertx/core/net/impl/NetServerImpl$NetServerWorker.lambda$0(Lio/netty/handler/timeout/IdleStateHandler;Lio/netty/channel/Channel;Lio/netty/util/concurrent/Future;)V (7)
                  (Lio/netty/util/concurrent/Future;)V
            invokeinterface io.netty.util.concurrent.Promise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Promise;
            pop
        end local 3 // io.netty.util.concurrent.Promise p
        end local 2 // io.netty.handler.timeout.IdleStateHandler idle
        13: .line 270
            goto 15
        14: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ch */
            invokevirtual io.vertx.core.net.impl.NetServerImpl$NetServerWorker.configurePipeline:(Lio/netty/channel/Channel;)V
        15: .line 273
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.Channel ch
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0   16     1    ch  Lio/netty/channel/Channel;
            8   10     2  idle  Lio/netty/handler/timeout/IdleStateHandler;
           11   13     2  idle  Lio/netty/handler/timeout/IdleStateHandler;
            5   13     3     p  Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
    MethodParameters:
      Name  Flags
      ch    

  private void configurePipeline(io.netty.channel.Channel);
    descriptor: (Lio/netty/channel/Channel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 1 // io.netty.channel.Channel ch
         0: .line 276
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
            invokevirtual io.vertx.core.net.impl.SSLHelper.isSSL:()Z
            ifeq 12
         1: .line 277
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.options:Lio/vertx/core/net/NetServerOptions;
            invokevirtual io.vertx.core.net.NetServerOptions.isSni:()Z
            ifeq 5
         2: .line 278
            new io.netty.handler.ssl.SniHandler
            dup
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.vertx:Lio/vertx/core/impl/VertxInternal;
            invokevirtual io.vertx.core.net.impl.SSLHelper.serverNameMapper:(Lio/vertx/core/impl/VertxInternal;)Lio/netty/util/Mapping;
            invokespecial io.netty.handler.ssl.SniHandler.<init>:(Lio/netty/util/Mapping;)V
            astore 2 /* sniHandler */
        start local 2 // io.netty.handler.ssl.SniHandler sniHandler
         3: .line 279
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            ldc "ssl"
            aload 2 /* sniHandler */
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
        end local 2 // io.netty.handler.ssl.SniHandler sniHandler
         4: .line 280
            goto 8
         5: .line 281
      StackMap locals:
      StackMap stack:
            new io.netty.handler.ssl.SslHandler
            dup
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.vertx:Lio/vertx/core/impl/VertxInternal;
            invokevirtual io.vertx.core.net.impl.SSLHelper.createEngine:(Lio/vertx/core/impl/VertxInternal;)Ljavax/net/ssl/SSLEngine;
            invokespecial io.netty.handler.ssl.SslHandler.<init>:(Ljavax/net/ssl/SSLEngine;)V
            astore 2 /* sslHandler */
        start local 2 // io.netty.handler.ssl.SslHandler sslHandler
         6: .line 282
            aload 2 /* sslHandler */
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
            invokevirtual io.vertx.core.net.impl.SSLHelper.getSslHandshakeTimeout:()J
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
            invokevirtual io.vertx.core.net.impl.SSLHelper.getSslHandshakeTimeoutUnit:()Ljava/util/concurrent/TimeUnit;
            invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeTimeout:(JLjava/util/concurrent/TimeUnit;)V
         7: .line 283
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            ldc "ssl"
            aload 2 /* sslHandler */
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
        end local 2 // io.netty.handler.ssl.SslHandler sslHandler
         8: .line 285
      StackMap locals:
      StackMap stack:
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.newPromise:()Lio/netty/channel/ChannelPromise;
            astore 2 /* p */
        start local 2 // io.netty.channel.ChannelPromise p
         9: .line 286
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            ldc "handshaker"
            new io.vertx.core.net.impl.SslHandshakeCompletionHandler
            dup
            aload 2 /* p */
            invokespecial io.vertx.core.net.impl.SslHandshakeCompletionHandler.<init>:(Lio/netty/util/concurrent/Promise;)V
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
        10: .line 287
            aload 2 /* p */
            aload 0 /* this */
            aload 1 /* ch */
            invokedynamic operationComplete(Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;Lio/netty/channel/Channel;)Lio/netty/util/concurrent/GenericFutureListener;
              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:
                  (Lio/netty/util/concurrent/Future;)V
                  io/vertx/core/net/impl/NetServerImpl$NetServerWorker.lambda$1(Lio/netty/channel/Channel;Lio/netty/util/concurrent/Future;)V (7)
                  (Lio/netty/util/concurrent/Future;)V
            invokeinterface io.netty.channel.ChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelPromise;
            pop
        end local 2 // io.netty.channel.ChannelPromise p
        11: .line 294
            goto 13
        12: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ch */
            invokevirtual io.vertx.core.net.impl.NetServerImpl$NetServerWorker.connected:(Lio/netty/channel/Channel;)V
        13: .line 297
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.netty.channel.Channel ch
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0   14     1          ch  Lio/netty/channel/Channel;
            3    4     2  sniHandler  Lio/netty/handler/ssl/SniHandler;
            6    8     2  sslHandler  Lio/netty/handler/ssl/SslHandler;
            9   11     2           p  Lio/netty/channel/ChannelPromise;
    MethodParameters:
      Name  Flags
      ch    

  private void handleException(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 1 // java.lang.Throwable cause
         0: .line 300
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.exceptionHandler:Lio/vertx/core/Handler;
            ifnull 2
         1: .line 301
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.context:Lio/vertx/core/impl/ContextInternal;
            aload 0 /* this */
            aload 1 /* cause */
            invokedynamic handle(Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;Ljava/lang/Throwable;)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/net/impl/NetServerImpl$NetServerWorker.lambda$2(Ljava/lang/Throwable;Ljava/lang/Void;)V (7)
                  (Ljava/lang/Void;)V
            invokeinterface io.vertx.core.impl.ContextInternal.emit:(Lio/vertx/core/Handler;)V
         2: .line 303
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable cause
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0    3     1  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  

  private void connected(io.netty.channel.Channel);
    descriptor: (Lio/netty/channel/Channel;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 1 // io.netty.channel.Channel ch
         0: .line 306
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            invokevirtual io.vertx.core.net.impl.NetServerImpl.initChannel:(Lio/netty/channel/ChannelPipeline;)V
         1: .line 307
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            invokevirtual io.vertx.core.net.impl.NetServerImpl.getMetrics:()Lio/vertx/core/spi/metrics/TCPMetrics;
            astore 2 /* metrics */
        start local 2 // io.vertx.core.spi.metrics.TCPMetrics metrics
         2: .line 308
            aload 0 /* this */
            aload 2 /* metrics */
            invokedynamic apply(Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;Lio/vertx/core/spi/metrics/TCPMetrics;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  io/vertx/core/net/impl/NetServerImpl$NetServerWorker.lambda$3(Lio/vertx/core/spi/metrics/TCPMetrics;Lio/netty/channel/ChannelHandlerContext;)Lio/vertx/core/net/impl/NetSocketImpl; (7)
                  (Lio/netty/channel/ChannelHandlerContext;)Lio/vertx/core/net/impl/NetSocketImpl;
            invokestatic io.vertx.core.net.impl.VertxHandler.create:(Ljava/util/function/Function;)Lio/vertx/core/net/impl/VertxHandler;
            astore 3 /* nh */
        start local 3 // io.vertx.core.net.impl.VertxHandler nh
         3: .line 309
            aload 3 /* nh */
            aload 0 /* this */
            aload 2 /* metrics */
            invokedynamic handle(Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;Lio/vertx/core/spi/metrics/TCPMetrics;)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/net/impl/NetServerImpl$NetServerWorker.lambda$4(Lio/vertx/core/spi/metrics/TCPMetrics;Lio/vertx/core/net/impl/NetSocketImpl;)V (7)
                  (Lio/vertx/core/net/impl/NetSocketImpl;)V
            invokevirtual io.vertx.core.net.impl.VertxHandler.addHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/impl/VertxHandler;
            pop
         4: .line 316
            aload 3 /* nh */
            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/net/impl/NetServerImpl$NetServerWorker.lambda$6(Lio/vertx/core/net/impl/NetSocketImpl;)V (6)
                  (Lio/vertx/core/net/impl/NetSocketImpl;)V
            invokevirtual io.vertx.core.net.impl.VertxHandler.removeHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/net/impl/VertxHandler;
            pop
         5: .line 319
            aload 1 /* ch */
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            ldc "handler"
            aload 3 /* nh */
            invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         6: .line 320
            return
        end local 3 // io.vertx.core.net.impl.VertxHandler nh
        end local 2 // io.vertx.core.spi.metrics.TCPMetrics metrics
        end local 1 // io.netty.channel.Channel ch
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0    7     1       ch  Lio/netty/channel/Channel;
            2    7     2  metrics  Lio/vertx/core/spi/metrics/TCPMetrics<*>;
            3    7     3       nh  Lio/vertx/core/net/impl/VertxHandler<Lio/vertx/core/net/impl/NetSocketImpl;>;
    MethodParameters:
      Name  Flags
      ch    

  public void handle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.netty.channel.Channel
            invokevirtual io.vertx.core.net.impl.NetServerImpl$NetServerWorker.handle:(Lio/netty/channel/Channel;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(io.netty.handler.timeout.IdleStateHandler, io.netty.channel.Channel, io.netty.util.concurrent.Future);
    descriptor: (Lio/netty/handler/timeout/IdleStateHandler;Lio/netty/channel/Channel;Lio/netty/util/concurrent/Future;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 3 // io.netty.util.concurrent.Future future
         0: .line 260
            aload 3 /* future */
            invokeinterface io.netty.util.concurrent.Future.isSuccess:()Z
            ifeq 5
         1: .line 261
            aload 1
            ifnull 3
         2: .line 262
            aload 2
            invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
            aload 1
            invokeinterface io.netty.channel.ChannelPipeline.remove:(Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
            pop
         3: .line 264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* future */
            invokeinterface io.netty.util.concurrent.Future.getNow:()Ljava/lang/Object;
            checkcast io.netty.channel.Channel
            invokevirtual io.vertx.core.net.impl.NetServerImpl$NetServerWorker.configurePipeline:(Lio/netty/channel/Channel;)V
         4: .line 265
            goto 6
         5: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* future */
            invokeinterface io.netty.util.concurrent.Future.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.net.impl.NetServerImpl$NetServerWorker.handleException:(Ljava/lang/Throwable;)V
         6: .line 269
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.netty.util.concurrent.Future future
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0    7     3  future  Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
    Exceptions:
      throws java.lang.Exception

  private void lambda$1(io.netty.channel.Channel, io.netty.util.concurrent.Future);
    descriptor: (Lio/netty/channel/Channel;Lio/netty/util/concurrent/Future;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 2 // io.netty.util.concurrent.Future future
         0: .line 288
            aload 2 /* future */
            invokeinterface io.netty.util.concurrent.Future.isSuccess:()Z
            ifeq 3
         1: .line 289
            aload 0 /* this */
            aload 1
            invokevirtual io.vertx.core.net.impl.NetServerImpl$NetServerWorker.connected:(Lio/netty/channel/Channel;)V
         2: .line 290
            goto 4
         3: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* future */
            invokeinterface io.netty.util.concurrent.Future.cause:()Ljava/lang/Throwable;
            invokevirtual io.vertx.core.net.impl.NetServerImpl$NetServerWorker.handleException:(Ljava/lang/Throwable;)V
         4: .line 293
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.netty.util.concurrent.Future future
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0    5     2  future  Lio/netty/util/concurrent/Future<-Ljava/lang/Void;>;
    Exceptions:
      throws java.lang.Exception

  private void lambda$2(java.lang.Throwable, java.lang.Void);
    descriptor: (Ljava/lang/Throwable;Ljava/lang/Void;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 2 // java.lang.Void v
         0: .line 301
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.exceptionHandler:Lio/vertx/core/Handler;
            aload 1
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
            return
        end local 2 // java.lang.Void v
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0    1     2     v  Ljava/lang/Void;

  private io.vertx.core.net.impl.NetSocketImpl lambda$3(io.vertx.core.spi.metrics.TCPMetrics, io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/vertx/core/spi/metrics/TCPMetrics;Lio/netty/channel/ChannelHandlerContext;)Lio/vertx/core/net/impl/NetSocketImpl;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 2 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 308
            new io.vertx.core.net.impl.NetSocketImpl
            dup
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.context:Lio/vertx/core/impl/ContextInternal;
            aload 2 /* ctx */
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.this$0:Lio/vertx/core/net/impl/NetServerImpl;
            getfield io.vertx.core.net.impl.NetServerImpl.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
            aload 1
            invokespecial io.vertx.core.net.impl.NetSocketImpl.<init>:(Lio/vertx/core/impl/ContextInternal;Lio/netty/channel/ChannelHandlerContext;Lio/vertx/core/net/impl/SSLHelper;Lio/vertx/core/spi/metrics/TCPMetrics;)V
            areturn
        end local 2 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0    1     2   ctx  Lio/netty/channel/ChannelHandlerContext;

  private void lambda$4(io.vertx.core.spi.metrics.TCPMetrics, io.vertx.core.net.impl.NetSocketImpl);
    descriptor: (Lio/vertx/core/spi/metrics/TCPMetrics;Lio/vertx/core/net/impl/NetSocketImpl;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
        start local 2 // io.vertx.core.net.impl.NetSocketImpl conn
         0: .line 310
            aload 1
            ifnull 2
         1: .line 311
            aload 2 /* conn */
            aload 1
            aload 2 /* conn */
            invokevirtual io.vertx.core.net.impl.NetSocketImpl.remoteAddress:()Lio/vertx/core/net/SocketAddress;
            aload 2 /* conn */
            invokevirtual io.vertx.core.net.impl.NetSocketImpl.remoteName:()Ljava/lang/String;
            invokeinterface io.vertx.core.spi.metrics.TCPMetrics.connected:(Lio/vertx/core/net/SocketAddress;Ljava/lang/String;)Ljava/lang/Object;
            invokevirtual io.vertx.core.net.impl.NetSocketImpl.metric:(Ljava/lang/Object;)V
         2: .line 313
      StackMap locals:
      StackMap stack:
            aload 2 /* conn */
            invokevirtual io.vertx.core.net.impl.NetSocketImpl.registerEventBusHandler:()V
         3: .line 314
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.context:Lio/vertx/core/impl/ContextInternal;
            aload 2 /* conn */
            aload 0 /* this */
            getfield io.vertx.core.net.impl.NetServerImpl$NetServerWorker.connectionHandler:Lio/vertx/core/Handler;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            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/Handler.handle(Ljava/lang/Object;)V (9 itf)
                  (Lio/vertx/core/net/impl/NetSocketImpl;)V
            invokeinterface io.vertx.core.impl.ContextInternal.emit:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
         4: .line 315
            return
        end local 2 // io.vertx.core.net.impl.NetSocketImpl conn
        end local 0 // io.vertx.core.net.impl.NetServerImpl$NetServerWorker this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/core/net/impl/NetServerImpl$NetServerWorker;
            0    5     2  conn  Lio/vertx/core/net/impl/NetSocketImpl;

  private static void lambda$6(io.vertx.core.net.impl.NetSocketImpl);
    descriptor: (Lio/vertx/core/net/impl/NetSocketImpl;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // io.vertx.core.net.impl.NetSocketImpl conn
         0: .line 318
            return
        end local 0 // io.vertx.core.net.impl.NetSocketImpl conn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  conn  Lio/vertx/core/net/impl/NetSocketImpl;
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Lio/netty/channel/Channel;>;
SourceFile: "NetServerImpl.java"
NestHost: io.vertx.core.net.impl.NetServerImpl
InnerClasses:
  private NetServerWorker = io.vertx.core.net.impl.NetServerImpl$NetServerWorker of io.vertx.core.net.impl.NetServerImpl
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles