public abstract class io.vertx.core.net.impl.TCPServerBase implements io.vertx.core.Closeable, io.vertx.core.spi.metrics.MetricsProvider
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.vertx.core.net.impl.TCPServerBase
super_class: java.lang.Object
{
private static final io.vertx.core.impl.logging.Logger log;
descriptor: Lio/vertx/core/impl/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected final io.vertx.core.Context creatingContext;
descriptor: Lio/vertx/core/Context;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final io.vertx.core.impl.VertxInternal vertx;
descriptor: Lio/vertx/core/impl/VertxInternal;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final io.vertx.core.net.NetServerOptions options;
descriptor: Lio/vertx/core/net/NetServerOptions;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final io.vertx.core.net.impl.SSLHelper sslHelper;
descriptor: Lio/vertx/core/net/impl/SSLHelper;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private io.netty.channel.EventLoop eventLoop;
descriptor: Lio/netty/channel/EventLoop;
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.Handler<io.netty.channel.Channel> worker;
descriptor: Lio/vertx/core/Handler;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/Handler<Lio/netty/channel/Channel;>;
private volatile boolean listening;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private io.vertx.core.impl.ContextInternal listenContext;
descriptor: Lio/vertx/core/impl/ContextInternal;
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.net.impl.ServerID id;
descriptor: Lio/vertx/core/net/impl/ServerID;
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.net.impl.TCPServerBase actualServer;
descriptor: Lio/vertx/core/net/impl/TCPServerBase;
flags: (0x0002) ACC_PRIVATE
private io.vertx.core.net.impl.ServerChannelLoadBalancer channelBalancer;
descriptor: Lio/vertx/core/net/impl/ServerChannelLoadBalancer;
flags: (0x0002) ACC_PRIVATE
private io.netty.util.concurrent.Future<io.netty.channel.Channel> bindFuture;
descriptor: Lio/netty/util/concurrent/Future;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
private java.util.Set<io.vertx.core.net.impl.TCPServerBase> servers;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lio/vertx/core/net/impl/TCPServerBase;>;
private io.vertx.core.spi.metrics.TCPMetrics<?> metrics;
descriptor: Lio/vertx/core/spi/metrics/TCPMetrics;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/vertx/core/spi/metrics/TCPMetrics<*>;
private volatile int actualPort;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/core/net/impl/NetServerImpl;
invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
putstatic io.vertx.core.net.impl.TCPServerBase.log:Lio/vertx/core/impl/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.vertx.core.impl.VertxInternal, io.vertx.core.net.NetServerOptions);
descriptor: (Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/net/NetServerOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.core.net.impl.TCPServerBase.vertx:Lio/vertx/core/impl/VertxInternal;
2: aload 0
new io.vertx.core.net.NetServerOptions
dup
aload 2
invokespecial io.vertx.core.net.NetServerOptions.<init>:(Lio/vertx/core/net/NetServerOptions;)V
putfield io.vertx.core.net.impl.TCPServerBase.options:Lio/vertx/core/net/NetServerOptions;
3: aload 0
new io.vertx.core.net.impl.SSLHelper
dup
aload 2
aload 2
invokevirtual io.vertx.core.net.NetServerOptions.getKeyCertOptions:()Lio/vertx/core/net/KeyCertOptions;
aload 2
invokevirtual io.vertx.core.net.NetServerOptions.getTrustOptions:()Lio/vertx/core/net/TrustOptions;
invokespecial io.vertx.core.net.impl.SSLHelper.<init>:(Lio/vertx/core/net/NetServerOptions;Lio/vertx/core/net/KeyCertOptions;Lio/vertx/core/net/TrustOptions;)V
putfield io.vertx.core.net.impl.TCPServerBase.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
4: aload 0
aload 1
invokeinterface io.vertx.core.impl.VertxInternal.getContext:()Lio/vertx/core/impl/ContextInternal;
putfield io.vertx.core.net.impl.TCPServerBase.creatingContext:Lio/vertx/core/Context;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 6 1 vertx Lio/vertx/core/impl/VertxInternal;
0 6 2 options Lio/vertx/core/net/NetServerOptions;
MethodParameters:
Name Flags
vertx
options
public int actualPort();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
getfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
goto 3
StackMap locals: io.vertx.core.net.impl.TCPServerBase
StackMap stack:
2: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
StackMap locals:
StackMap stack: int
3: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/net/impl/TCPServerBase;
1 4 1 server Lio/vertx/core/net/impl/TCPServerBase;
public synchronized io.netty.util.concurrent.Future<io.netty.channel.Channel> listen(io.vertx.core.net.SocketAddress, io.vertx.core.impl.ContextInternal, io.vertx.core.Handler<io.netty.channel.Channel>);
descriptor: (Lio/vertx/core/net/SocketAddress;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;)Lio/netty/util/concurrent/Future;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.listening:Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Listen already called"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield io.vertx.core.net.impl.TCPServerBase.listenContext:Lio/vertx/core/impl/ContextInternal;
3: aload 0
iconst_1
putfield io.vertx.core.net.impl.TCPServerBase.listening:Z
4: aload 0
aload 2
invokeinterface io.vertx.core.impl.ContextInternal.nettyEventLoop:()Lio/netty/channel/EventLoop;
putfield io.vertx.core.net.impl.TCPServerBase.eventLoop:Lio/netty/channel/EventLoop;
5: aload 0
aload 3
putfield io.vertx.core.net.impl.TCPServerBase.worker:Lio/vertx/core/Handler;
6: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.vertx:Lio/vertx/core/impl/VertxInternal;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface io.vertx.core.impl.VertxInternal.sharedTCPServers:(Ljava/lang/Class;)Ljava/util/Map;
astore 4
start local 4 7: aload 4
dup
astore 5
monitorenter
8: aload 0
aload 1
invokeinterface io.vertx.core.net.SocketAddress.port:()I
putfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
9: aload 1
invokeinterface io.vertx.core.net.SocketAddress.isInetSocket:()Z
ifeq 10
aload 1
invokeinterface io.vertx.core.net.SocketAddress.host:()Ljava/lang/String;
goto 11
StackMap locals: java.util.Map java.util.Map
StackMap stack:
10: aload 1
invokeinterface io.vertx.core.net.SocketAddress.path:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
11: astore 6
start local 6 12: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
ifeq 17
13: aload 0
new io.vertx.core.net.impl.ServerID
dup
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
aload 6
invokespecial io.vertx.core.net.impl.ServerID.<init>:(ILjava/lang/String;)V
putfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
14: aload 4
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.core.net.impl.TCPServerBase
astore 7
start local 7 15: iconst_1
istore 8
start local 8 16: goto 25
end local 8 end local 7 17: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.creatingContext:Lio/vertx/core/Context;
ifnull 22
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.creatingContext:Lio/vertx/core/Context;
invokeinterface io.vertx.core.Context.deploymentID:()Ljava/lang/String;
ifnull 22
18: aload 0
new io.vertx.core.net.impl.ServerID
dup
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.creatingContext:Lio/vertx/core/Context;
invokeinterface io.vertx.core.Context.deploymentID:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial io.vertx.core.net.impl.ServerID.<init>:(ILjava/lang/String;)V
putfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
19: aload 4
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast io.vertx.core.net.impl.TCPServerBase
astore 7
start local 7 20: iconst_1
istore 8
start local 8 21: goto 25
end local 8 end local 7 22: StackMap locals:
StackMap stack:
aload 0
new io.vertx.core.net.impl.ServerID
dup
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
aload 6
invokespecial io.vertx.core.net.impl.ServerID.<init>:(ILjava/lang/String;)V
putfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
23: aconst_null
astore 7
start local 7 24: iconst_0
istore 8
start local 8 25: StackMap locals: io.vertx.core.net.impl.TCPServerBase int
StackMap stack:
aload 7
ifnonnull 46
26: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield io.vertx.core.net.impl.TCPServerBase.servers:Ljava/util/Set;
27: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.servers:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
28: aload 0
new io.vertx.core.net.impl.ServerChannelLoadBalancer
dup
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getAcceptorEventLoopGroup:()Lio/netty/channel/EventLoopGroup;
invokeinterface io.netty.channel.EventLoopGroup.next:()Lio/netty/channel/EventLoop;
invokespecial io.vertx.core.net.impl.ServerChannelLoadBalancer.<init>:(Lio/netty/util/concurrent/EventExecutor;)V
putfield io.vertx.core.net.impl.TCPServerBase.channelBalancer:Lio/vertx/core/net/impl/ServerChannelLoadBalancer;
29: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.channelBalancer:Lio/vertx/core/net/impl/ServerChannelLoadBalancer;
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.eventLoop:Lio/netty/channel/EventLoop;
aload 3
invokevirtual io.vertx.core.net.impl.ServerChannelLoadBalancer.addWorker:(Lio/netty/channel/EventLoop;Lio/vertx/core/Handler;)V
30: new io.netty.bootstrap.ServerBootstrap
dup
invokespecial io.netty.bootstrap.ServerBootstrap.<init>:()V
astore 9
start local 9 31: aload 9
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getAcceptorEventLoopGroup:()Lio/netty/channel/EventLoopGroup;
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.channelBalancer:Lio/vertx/core/net/impl/ServerChannelLoadBalancer;
invokevirtual io.vertx.core.net.impl.ServerChannelLoadBalancer.workers:()Lio/vertx/core/net/impl/VertxEventLoopGroup;
invokevirtual io.netty.bootstrap.ServerBootstrap.group:(Lio/netty/channel/EventLoopGroup;Lio/netty/channel/EventLoopGroup;)Lio/netty/bootstrap/ServerBootstrap;
pop
32: aload 9
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.channelBalancer:Lio/vertx/core/net/impl/ServerChannelLoadBalancer;
invokevirtual io.netty.bootstrap.ServerBootstrap.childHandler:(Lio/netty/channel/ChannelHandler;)Lio/netty/bootstrap/ServerBootstrap;
pop
33: aload 0
aload 1
invokeinterface io.vertx.core.net.SocketAddress.isDomainSocket:()Z
aload 9
invokevirtual io.vertx.core.net.impl.TCPServerBase.applyConnectionOptions:(ZLio/netty/bootstrap/ServerBootstrap;)V
34: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.vertx:Lio/vertx/core/impl/VertxInternal;
invokevirtual io.vertx.core.net.impl.SSLHelper.validate:(Lio/vertx/core/impl/VertxInternal;)V
35: aload 0
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.vertx:Lio/vertx/core/impl/VertxInternal;
aload 1
aload 9
invokestatic io.vertx.core.net.impl.AsyncResolveConnectHelper.doBind:(Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/net/SocketAddress;Lio/netty/bootstrap/ServerBootstrap;)Lio/netty/util/concurrent/Future;
putfield io.vertx.core.net.impl.TCPServerBase.bindFuture:Lio/netty/util/concurrent/Future;
36: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.bindFuture:Lio/netty/util/concurrent/Future;
aload 0
aload 6
aload 1
iload 8
aload 4
invokedynamic operationComplete(Lio/vertx/core/net/impl/TCPServerBase;Ljava/lang/String;Lio/vertx/core/net/SocketAddress;ZLjava/util/Map;)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/TCPServerBase.lambda$0(Ljava/lang/String;Lio/vertx/core/net/SocketAddress;ZLjava/util/Map;Lio/netty/util/concurrent/Future;)V (7)
(Lio/netty/util/concurrent/Future;)V
invokeinterface io.netty.util.concurrent.Future.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Future;
pop
37: goto 42
StackMap locals: io.vertx.core.net.impl.TCPServerBase io.vertx.core.net.SocketAddress io.vertx.core.impl.ContextInternal io.vertx.core.Handler java.util.Map java.util.Map java.lang.String io.vertx.core.net.impl.TCPServerBase int io.netty.bootstrap.ServerBootstrap
StackMap stack: java.lang.Throwable
38: astore 10
start local 10 39: aload 0
iconst_0
putfield io.vertx.core.net.impl.TCPServerBase.listening:Z
40: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.getAcceptorEventLoopGroup:()Lio/netty/channel/EventLoopGroup;
invokeinterface io.netty.channel.EventLoopGroup.next:()Lio/netty/channel/EventLoop;
aload 10
invokeinterface io.netty.channel.EventLoop.newFailedFuture:(Ljava/lang/Throwable;)Lio/netty/util/concurrent/Future;
aload 5
monitorexit
41: areturn
end local 10 42: StackMap locals:
StackMap stack:
iload 8
ifeq 44
43: aload 4
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
aload 0
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
44: StackMap locals:
StackMap stack:
aload 0
aload 0
putfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
end local 9 45: goto 51
46: StackMap locals:
StackMap stack:
aload 0
aload 7
putfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
47: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
getfield io.vertx.core.net.impl.TCPServerBase.servers:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
48: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
getfield io.vertx.core.net.impl.TCPServerBase.channelBalancer:Lio/vertx/core/net/impl/ServerChannelLoadBalancer;
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.eventLoop:Lio/netty/channel/EventLoop;
aload 3
invokevirtual io.vertx.core.net.impl.ServerChannelLoadBalancer.addWorker:(Lio/netty/channel/EventLoop;Lio/vertx/core/Handler;)V
49: aload 0
aload 7
getfield io.vertx.core.net.impl.TCPServerBase.metrics:Lio/vertx/core/spi/metrics/TCPMetrics;
putfield io.vertx.core.net.impl.TCPServerBase.metrics:Lio/vertx/core/spi/metrics/TCPMetrics;
50: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.listenContext:Lio/vertx/core/impl/ContextInternal;
aload 0
invokeinterface io.vertx.core.impl.ContextInternal.addCloseHook:(Lio/vertx/core/Closeable;)V
end local 8 end local 7 end local 6 51: StackMap locals:
StackMap stack:
aload 5
monitorexit
52: goto 55
StackMap locals:
StackMap stack: java.lang.Throwable
53: aload 5
monitorexit
54: athrow
55: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
getfield io.vertx.core.net.impl.TCPServerBase.bindFuture:Lio/netty/util/concurrent/Future;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 56 1 localAddress Lio/vertx/core/net/SocketAddress;
0 56 2 context Lio/vertx/core/impl/ContextInternal;
0 56 3 worker Lio/vertx/core/Handler<Lio/netty/channel/Channel;>;
7 56 4 sharedNetServers Ljava/util/Map<Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/net/impl/TCPServerBase;>;
12 51 6 hostOrPath Ljava/lang/String;
15 17 7 main Lio/vertx/core/net/impl/TCPServerBase;
20 22 7 main Lio/vertx/core/net/impl/TCPServerBase;
24 51 7 main Lio/vertx/core/net/impl/TCPServerBase;
16 17 8 shared Z
21 22 8 shared Z
25 51 8 shared Z
31 45 9 bootstrap Lio/netty/bootstrap/ServerBootstrap;
39 42 10 t Ljava/lang/Throwable;
Exception table:
from to target type
34 37 38 Class java.lang.Throwable
8 41 53 any
42 52 53 any
53 54 53 any
Signature: (Lio/vertx/core/net/SocketAddress;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler<Lio/netty/channel/Channel;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
MethodParameters:
Name Flags
localAddress
context
worker
public boolean isListening();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.listening:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/TCPServerBase;
protected io.vertx.core.spi.metrics.TCPMetrics<?> createMetrics(io.vertx.core.net.SocketAddress);
descriptor: (Lio/vertx/core/net/SocketAddress;)Lio/vertx/core/spi/metrics/TCPMetrics;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 1 1 localAddress Lio/vertx/core/net/SocketAddress;
Signature: (Lio/vertx/core/net/SocketAddress;)Lio/vertx/core/spi/metrics/TCPMetrics<*>;
MethodParameters:
Name Flags
localAddress
private void applyConnectionOptions(boolean, io.netty.bootstrap.ServerBootstrap);
descriptor: (ZLio/netty/bootstrap/ServerBootstrap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.vertx:Lio/vertx/core/impl/VertxInternal;
invokeinterface io.vertx.core.impl.VertxInternal.transport:()Lio/vertx/core/net/impl/transport/Transport;
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.options:Lio/vertx/core/net/NetServerOptions;
iload 1
aload 2
invokevirtual io.vertx.core.net.impl.transport.Transport.configure:(Lio/vertx/core/net/NetServerOptions;ZLio/netty/bootstrap/ServerBootstrap;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 2 1 domainSocket Z
0 2 2 bootstrap Lio/netty/bootstrap/ServerBootstrap;
MethodParameters:
Name Flags
domainSocket
bootstrap
public boolean isMetricsEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.metrics:Lio/vertx/core/spi/metrics/TCPMetrics;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/net/impl/TCPServerBase;
public synchronized io.vertx.core.spi.metrics.TCPMetrics<?> getMetrics();
descriptor: ()Lio/vertx/core/spi/metrics/TCPMetrics;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
ifnull 1
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
getfield io.vertx.core.net.impl.TCPServerBase.metrics:Lio/vertx/core/spi/metrics/TCPMetrics;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: io.vertx.core.spi.metrics.TCPMetrics
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/TCPServerBase;
Signature: ()Lio/vertx/core/spi/metrics/TCPMetrics<*>;
public synchronized void close(io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.listening:Z
ifne 3
1: aload 1
invokeinterface io.vertx.core.Promise.complete:()V
2: return
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield io.vertx.core.net.impl.TCPServerBase.listening:Z
4: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.listenContext:Lio/vertx/core/impl/ContextInternal;
aload 0
invokeinterface io.vertx.core.impl.ContextInternal.removeCloseHook:(Lio/vertx/core/Closeable;)V
5: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.vertx:Lio/vertx/core/impl/VertxInternal;
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface io.vertx.core.impl.VertxInternal.sharedTCPServers:(Ljava/lang/Class;)Ljava/util/Map;
astore 2
start local 2 6: aload 2
dup
astore 3
monitorenter
7: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
getfield io.vertx.core.net.impl.TCPServerBase.channelBalancer:Lio/vertx/core/net/impl/ServerChannelLoadBalancer;
astore 4
start local 4 8: aload 4
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.eventLoop:Lio/netty/channel/EventLoop;
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.worker:Lio/vertx/core/Handler;
invokevirtual io.vertx.core.net.impl.ServerChannelLoadBalancer.removeWorker:(Lio/netty/channel/EventLoop;Lio/vertx/core/Handler;)Z
pop
9: aload 4
invokevirtual io.vertx.core.net.impl.ServerChannelLoadBalancer.hasHandlers:()Z
ifeq 12
10: aload 1
invokeinterface io.vertx.core.Promise.complete:()V
11: goto 14
12: StackMap locals: java.util.Map java.util.Map io.vertx.core.net.impl.ServerChannelLoadBalancer
StackMap stack:
aload 2
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
13: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
aload 1
invokevirtual io.vertx.core.net.impl.TCPServerBase.actualClose:(Lio/vertx/core/Promise;)V
end local 4 14: StackMap locals:
StackMap stack:
aload 3
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 19 1 completion Lio/vertx/core/Promise<Ljava/lang/Void;>;
6 19 2 servers Ljava/util/Map<Lio/vertx/core/net/impl/ServerID;Lio/vertx/core/net/impl/TCPServerBase;>;
8 14 4 balancer Lio/vertx/core/net/impl/ServerChannelLoadBalancer;
Exception table:
from to target type
7 15 16 any
16 17 16 any
Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
completion
private void actualClose(io.vertx.core.Promise<java.lang.Void>);
descriptor: (Lio/vertx/core/Promise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.channelBalancer:Lio/vertx/core/net/impl/ServerChannelLoadBalancer;
invokevirtual io.vertx.core.net.impl.ServerChannelLoadBalancer.close:()V
1: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.bindFuture:Lio/netty/util/concurrent/Future;
aload 0
aload 1
invokedynamic operationComplete(Lio/vertx/core/net/impl/TCPServerBase;Lio/vertx/core/Promise;)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/TCPServerBase.lambda$1(Lio/vertx/core/Promise;Lio/netty/util/concurrent/Future;)V (7)
(Lio/netty/util/concurrent/Future;)V
invokeinterface io.netty.util.concurrent.Future.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Future;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 3 1 done Lio/vertx/core/Promise<Ljava/lang/Void;>;
Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
done
public void closeAll(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=4, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualServer:Lio/vertx/core/net/impl/TCPServerBase;
getfield io.vertx.core.net.impl.TCPServerBase.servers:Ljava/util/Set;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
1: invokevirtual java.util.ArrayList.stream:()Ljava/util/stream/Stream;
2: invokedynamic apply()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/TCPServerBase.close()Lio/vertx/core/Future; (5)
(Lio/vertx/core/net/impl/TCPServerBase;)Lio/vertx/core/Future;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
4: astore 2
start local 2 5: aload 2
invokestatic io.vertx.core.CompositeFuture.all:(Ljava/util/List;)Lio/vertx/core/CompositeFuture;
astore 3
start local 3 6: aload 3
aload 1
invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/core/net/impl/TCPServerBase.lambda$4(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
(Lio/vertx/core/AsyncResult;)V
invokeinterface io.vertx.core.CompositeFuture.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/CompositeFuture;
pop
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 8 1 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
5 8 2 futures Ljava/util/List<Lio/vertx/core/Future;>;
6 8 3 fut Lio/vertx/core/CompositeFuture;
Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
MethodParameters:
Name Flags
handler
public abstract io.vertx.core.Future<java.lang.Void> close();
descriptor: ()Lio/vertx/core/Future;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Lio/vertx/core/Future<Ljava/lang/Void;>;
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.core.net.impl.TCPServerBase.close:()Lio/vertx/core/Future;
pop
1: aload 0
invokespecial java.lang.Object.finalize:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/net/impl/TCPServerBase;
Exceptions:
throws java.lang.Throwable
public io.vertx.core.spi.metrics.Metrics getMetrics();
descriptor: ()Lio/vertx/core/spi/metrics/Metrics;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.vertx.core.net.impl.TCPServerBase.getMetrics:()Lio/vertx/core/spi/metrics/TCPMetrics;
areturn
LocalVariableTable:
Start End Slot Name Signature
private void lambda$0(java.lang.String, io.vertx.core.net.SocketAddress, boolean, java.util.Map, io.netty.util.concurrent.Future);
descriptor: (Ljava/lang/String;Lio/vertx/core/net/SocketAddress;ZLjava/util/Map;Lio/netty/util/concurrent/Future;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 5 0: aload 5
invokeinterface io.netty.util.concurrent.Future.isSuccess:()Z
ifeq 9
1: aload 5
invokeinterface io.netty.util.concurrent.Future.getNow:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 6
start local 6 2: getstatic io.vertx.core.net.impl.TCPServerBase.log:Lio/vertx/core/impl/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Net server listening on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 6
invokeinterface io.netty.channel.Channel.localAddress:()Ljava/net/SocketAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface io.vertx.core.impl.logging.Logger.trace:(Ljava/lang/Object;)V
3: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
iconst_m1
if_icmpeq 5
4: aload 0
aload 6
invokeinterface io.netty.channel.Channel.localAddress:()Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
invokevirtual java.net.InetSocketAddress.getPort:()I
putfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
5: StackMap locals: io.netty.channel.Channel
StackMap stack:
aload 0
new io.vertx.core.net.impl.ServerID
dup
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.actualPort:I
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
getfield io.vertx.core.net.impl.ServerID.host:Ljava/lang/String;
invokespecial io.vertx.core.net.impl.ServerID.<init>:(ILjava/lang/String;)V
putfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
6: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.listenContext:Lio/vertx/core/impl/ContextInternal;
aload 0
invokeinterface io.vertx.core.impl.ContextInternal.addCloseHook:(Lio/vertx/core/Closeable;)V
7: aload 0
aload 0
aload 2
invokevirtual io.vertx.core.net.impl.TCPServerBase.createMetrics:(Lio/vertx/core/net/SocketAddress;)Lio/vertx/core/spi/metrics/TCPMetrics;
putfield io.vertx.core.net.impl.TCPServerBase.metrics:Lio/vertx/core/spi/metrics/TCPMetrics;
end local 6 8: goto 17
9: StackMap locals:
StackMap stack:
iload 3
ifeq 16
10: aload 4
dup
astore 6
monitorenter
11: aload 4
aload 0
getfield io.vertx.core.net.impl.TCPServerBase.id:Lio/vertx/core/net/impl/ServerID;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 6
monitorexit
13: goto 16
StackMap locals: io.vertx.core.net.impl.TCPServerBase java.lang.String io.vertx.core.net.SocketAddress int java.util.Map io.netty.util.concurrent.Future java.util.Map
StackMap stack: java.lang.Throwable
14: aload 6
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield io.vertx.core.net.impl.TCPServerBase.listening:Z
17: StackMap locals:
StackMap stack:
return
end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 18 5 res Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
2 8 6 ch Lio/netty/channel/Channel;
Exception table:
from to target type
11 13 14 any
14 15 14 any
Exceptions:
throws java.lang.Exception
private void lambda$1(io.vertx.core.Promise, io.netty.util.concurrent.Future);
descriptor: (Lio/vertx/core/Promise;Lio/netty/util/concurrent/Future;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 2 0: aload 2
invokeinterface io.netty.util.concurrent.Future.isSuccess:()Z
ifeq 7
1: aload 2
invokeinterface io.netty.util.concurrent.Future.getNow:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
astore 3
start local 3 2: aload 3
invokeinterface io.netty.channel.Channel.close:()Lio/netty/channel/ChannelFuture;
astore 4
start local 4 3: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.metrics:Lio/vertx/core/spi/metrics/TCPMetrics;
ifnull 5
4: aload 4
aload 0
invokedynamic operationComplete(Lio/vertx/core/net/impl/TCPServerBase;)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/TCPServerBase.lambda$2(Lio/netty/util/concurrent/Future;)V (7)
(Lio/netty/util/concurrent/Future;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
5: StackMap locals: io.netty.channel.Channel io.netty.channel.ChannelFuture
StackMap stack:
aload 4
aload 1
checkcast io.vertx.core.impl.future.PromiseInternal
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
end local 4 end local 3 6: goto 8
7: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.vertx.core.Promise.complete:()V
8: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 9 2 fut Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
2 6 3 channel Lio/netty/channel/Channel;
3 6 4 a Lio/netty/channel/ChannelFuture;
Exceptions:
throws java.lang.Exception
private static void lambda$4(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=2, locals=2, args_size=2
start local 1 0: aload 0
aload 1
invokeinterface io.vertx.core.AsyncResult.mapEmpty:()Lio/vertx/core/AsyncResult;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 ar Lio/vertx/core/AsyncResult<Lio/vertx/core/CompositeFuture;>;
private void lambda$2(io.netty.util.concurrent.Future);
descriptor: (Lio/netty/util/concurrent/Future;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.net.impl.TCPServerBase.metrics:Lio/vertx/core/spi/metrics/TCPMetrics;
invokeinterface io.vertx.core.spi.metrics.TCPMetrics.close:()V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/net/impl/TCPServerBase;
0 1 1 cg Lio/netty/util/concurrent/Future<-Ljava/lang/Void;>;
Exceptions:
throws java.lang.Exception
}
SourceFile: "TCPServerBase.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles