class io.vertx.core.http.impl.WebSocketEndpoint extends io.vertx.core.http.impl.ClientHttpEndpointBase
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.vertx.core.http.impl.WebSocketEndpoint
super_class: io.vertx.core.http.impl.ClientHttpEndpointBase
{
private final int maxPoolSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.http.impl.HttpChannelConnector connector;
descriptor: Lio/vertx/core/http/impl/HttpChannelConnector;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Deque<io.vertx.core.http.impl.WebSocketEndpoint$Waiter> waiters;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Lio/vertx/core/http/impl/WebSocketEndpoint$Waiter;>;
private int inflightConnections;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(io.vertx.core.spi.metrics.ClientMetrics, int, java.lang.String, java.lang.Object, int, io.vertx.core.http.impl.HttpChannelConnector, java.lang.Runnable);
descriptor: (Lio/vertx/core/spi/metrics/ClientMetrics;ILjava/lang/String;Ljava/lang/Object;ILio/vertx/core/http/impl/HttpChannelConnector;Ljava/lang/Runnable;)V
flags: (0x0000)
Code:
stack=6, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
iload 2
aload 3
aload 4
aload 7
invokespecial io.vertx.core.http.impl.ClientHttpEndpointBase.<init>:(Lio/vertx/core/spi/metrics/ClientMetrics;ILjava/lang/String;Ljava/lang/Object;Ljava/lang/Runnable;)V
1: aload 0
iload 5
putfield io.vertx.core.http.impl.WebSocketEndpoint.maxPoolSize:I
2: aload 0
aload 6
putfield io.vertx.core.http.impl.WebSocketEndpoint.connector:Lio/vertx/core/http/impl/HttpChannelConnector;
3: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.vertx.core.http.impl.WebSocketEndpoint.waiters:Ljava/util/Deque;
4: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/core/http/impl/WebSocketEndpoint;
0 5 1 metrics Lio/vertx/core/spi/metrics/ClientMetrics;
0 5 2 port I
0 5 3 host Ljava/lang/String;
0 5 4 metric Ljava/lang/Object;
0 5 5 maxPoolSize I
0 5 6 connector Lio/vertx/core/http/impl/HttpChannelConnector;
0 5 7 dispose Ljava/lang/Runnable;
MethodParameters:
Name Flags
metrics
port
host
metric
maxPoolSize
connector
dispose
private void tryConnect(io.vertx.core.impl.ContextInternal, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.http.impl.HttpClientConnection>>);
descriptor: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new io.vertx.core.http.impl.WebSocketEndpoint$1Listener
dup
aload 0
aload 2
invokespecial io.vertx.core.http.impl.WebSocketEndpoint$1Listener.<init>:(Lio/vertx/core/http/impl/WebSocketEndpoint;Lio/vertx/core/Handler;)V
astore 3
start local 3 1: aload 0
getfield io.vertx.core.http.impl.WebSocketEndpoint.connector:Lio/vertx/core/http/impl/HttpChannelConnector;
aload 3
aload 1
aload 3
invokevirtual io.vertx.core.http.impl.HttpChannelConnector.connect:(Lio/vertx/core/net/impl/clientconnection/ConnectionListener;Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/core/http/impl/WebSocketEndpoint;
0 3 1 ctx Lio/vertx/core/impl/ContextInternal;
0 3 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/HttpClientConnection;>;>;
1 3 3 listener Lio/vertx/core/http/impl/WebSocketEndpoint$1Listener;
Signature: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/HttpClientConnection;>;>;)V
MethodParameters:
Name Flags
ctx
handler
public void requestConnection2(io.vertx.core.impl.ContextInternal, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.core.http.impl.HttpClientConnection>>);
descriptor: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: aload 0
getfield io.vertx.core.http.impl.WebSocketEndpoint.inflightConnections:I
aload 0
getfield io.vertx.core.http.impl.WebSocketEndpoint.maxPoolSize:I
if_icmplt 5
2: aload 0
getfield io.vertx.core.http.impl.WebSocketEndpoint.waiters:Ljava/util/Deque;
new io.vertx.core.http.impl.WebSocketEndpoint$Waiter
dup
aload 2
aload 1
invokespecial io.vertx.core.http.impl.WebSocketEndpoint$Waiter.<init>:(Lio/vertx/core/Handler;Lio/vertx/core/impl/ContextInternal;)V
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
3: aload 3
monitorexit
4: return
5: StackMap locals: io.vertx.core.http.impl.WebSocketEndpoint
StackMap stack:
aload 0
dup
getfield io.vertx.core.http.impl.WebSocketEndpoint.inflightConnections:I
iconst_1
iadd
putfield io.vertx.core.http.impl.WebSocketEndpoint.inflightConnections:I
6: aload 3
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 3
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.vertx.core.http.impl.WebSocketEndpoint.tryConnect:(Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler;)V
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/vertx/core/http/impl/WebSocketEndpoint;
0 12 1 ctx Lio/vertx/core/impl/ContextInternal;
0 12 2 handler Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/HttpClientConnection;>;>;
Exception table:
from to target type
1 4 8 any
5 7 8 any
8 9 8 any
Signature: (Lio/vertx/core/impl/ContextInternal;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/core/http/impl/HttpClientConnection;>;>;)V
MethodParameters:
Name Flags
ctx
handler
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial io.vertx.core.http.impl.ClientHttpEndpointBase.close:()V
1: aload 0
dup
astore 1
monitorenter
2: aload 0
getfield io.vertx.core.http.impl.WebSocketEndpoint.waiters:Ljava/util/Deque;
invokedynamic accept()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/http/impl/WebSocketEndpoint.lambda$0(Lio/vertx/core/http/impl/WebSocketEndpoint$Waiter;)V (6)
(Lio/vertx/core/http/impl/WebSocketEndpoint$Waiter;)V
invokeinterface java.util.Deque.forEach:(Ljava/util/function/Consumer;)V
3: aload 0
getfield io.vertx.core.http.impl.WebSocketEndpoint.waiters:Ljava/util/Deque;
invokeinterface java.util.Deque.clear:()V
4: aload 1
monitorexit
5: goto 8
StackMap locals: io.vertx.core.http.impl.WebSocketEndpoint io.vertx.core.http.impl.WebSocketEndpoint
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/core/http/impl/WebSocketEndpoint;
Exception table:
from to target type
2 5 6 any
6 7 6 any
static void access$0(io.vertx.core.http.impl.WebSocketEndpoint, java.lang.Object);
descriptor: (Lio/vertx/core/http/impl/WebSocketEndpoint;Ljava/lang/Object;)V
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.http.impl.WebSocketEndpoint.connectionRemoved:(Ljava/lang/Object;)V
return
LocalVariableTable:
Start End Slot Name Signature
static void access$1(io.vertx.core.http.impl.WebSocketEndpoint, java.lang.Object);
descriptor: (Lio/vertx/core/http/impl/WebSocketEndpoint;Ljava/lang/Object;)V
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual io.vertx.core.http.impl.WebSocketEndpoint.connectionAdded:(Ljava/lang/Object;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$0(io.vertx.core.http.impl.WebSocketEndpoint$Waiter);
descriptor: (Lio/vertx/core/http/impl/WebSocketEndpoint$Waiter;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.core.http.impl.WebSocketEndpoint$Waiter.context:Lio/vertx/core/impl/ContextInternal;
aload 0
invokedynamic handle(Lio/vertx/core/http/impl/WebSocketEndpoint$Waiter;)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/http/impl/WebSocketEndpoint.lambda$1(Lio/vertx/core/http/impl/WebSocketEndpoint$Waiter;Ljava/lang/Void;)V (6)
(Ljava/lang/Void;)V
invokeinterface io.vertx.core.impl.ContextInternal.runOnContext:(Lio/vertx/core/Handler;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 waiter Lio/vertx/core/http/impl/WebSocketEndpoint$Waiter;
private static void lambda$1(io.vertx.core.http.impl.WebSocketEndpoint$Waiter, java.lang.Void);
descriptor: (Lio/vertx/core/http/impl/WebSocketEndpoint$Waiter;Ljava/lang/Void;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 0
getfield io.vertx.core.http.impl.WebSocketEndpoint$Waiter.handler:Lio/vertx/core/Handler;
ldc "Closed"
invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
1: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 v Ljava/lang/Void;
}
SourceFile: "WebSocketEndpoint.java"
NestMembers:
io.vertx.core.http.impl.WebSocketEndpoint$1Listener io.vertx.core.http.impl.WebSocketEndpoint$Waiter
InnerClasses:
Listener = io.vertx.core.http.impl.WebSocketEndpoint$1Listener
private Waiter = io.vertx.core.http.impl.WebSocketEndpoint$Waiter of io.vertx.core.http.impl.WebSocketEndpoint
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles