public class io.vertx.core.http.impl.HttpServerWorker implements io.vertx.core.Handler<io.netty.channel.Channel>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.core.http.impl.HttpServerWorker
super_class: java.lang.Object
{
final io.vertx.core.impl.EventLoopContext context;
descriptor: Lio/vertx/core/impl/EventLoopContext;
flags: (0x0010) ACC_FINAL
private final java.util.function.Supplier<io.vertx.core.impl.ContextInternal> streamContextSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Supplier<Lio/vertx/core/impl/ContextInternal;>;
private final io.vertx.core.impl.VertxInternal vertx;
descriptor: Lio/vertx/core/impl/VertxInternal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.http.impl.HttpServerImpl server;
descriptor: Lio/vertx/core/http/impl/HttpServerImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.net.impl.SSLHelper sslHelper;
descriptor: Lio/vertx/core/net/impl/SSLHelper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.http.HttpServerOptions options;
descriptor: Lio/vertx/core/http/HttpServerOptions;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String serverOrigin;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean logEnabled;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean disableH2C;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final io.vertx.core.Handler<io.vertx.core.http.impl.HttpServerConnection> connectionHandler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0010) ACC_FINAL
Signature: Lio/vertx/core/Handler<Lio/vertx/core/http/impl/HttpServerConnection;>;
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;>;
public void <init>(io.vertx.core.impl.EventLoopContext, java.util.function.Supplier<io.vertx.core.impl.ContextInternal>, io.vertx.core.http.impl.HttpServerImpl, io.vertx.core.impl.VertxInternal, io.vertx.core.net.impl.SSLHelper, io.vertx.core.http.HttpServerOptions, java.lang.String, boolean, io.vertx.core.Handler<io.vertx.core.http.impl.HttpServerConnection>, io.vertx.core.Handler<java.lang.Throwable>);
descriptor: (Lio/vertx/core/impl/EventLoopContext;Ljava/util/function/Supplier;Lio/vertx/core/http/impl/HttpServerImpl;Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/net/impl/SSLHelper;Lio/vertx/core/http/HttpServerOptions;Ljava/lang/String;ZLio/vertx/core/Handler;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=11, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield io.vertx.core.http.impl.HttpServerWorker.context:Lio/vertx/core/impl/EventLoopContext;
2: aload 0
aload 2
putfield io.vertx.core.http.impl.HttpServerWorker.streamContextSupplier:Ljava/util/function/Supplier;
3: aload 0
aload 3
putfield io.vertx.core.http.impl.HttpServerWorker.server:Lio/vertx/core/http/impl/HttpServerImpl;
4: aload 0
aload 4
putfield io.vertx.core.http.impl.HttpServerWorker.vertx:Lio/vertx/core/impl/VertxInternal;
5: aload 0
aload 5
putfield io.vertx.core.http.impl.HttpServerWorker.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
6: aload 0
aload 6
putfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
7: aload 0
aload 7
putfield io.vertx.core.http.impl.HttpServerWorker.serverOrigin:Ljava/lang/String;
8: aload 0
aload 6
invokevirtual io.vertx.core.http.HttpServerOptions.getLogActivity:()Z
putfield io.vertx.core.http.impl.HttpServerWorker.logEnabled:Z
9: aload 0
iload 8
putfield io.vertx.core.http.impl.HttpServerWorker.disableH2C:Z
10: aload 0
aload 9
putfield io.vertx.core.http.impl.HttpServerWorker.connectionHandler:Lio/vertx/core/Handler;
11: aload 0
aload 10
putfield io.vertx.core.http.impl.HttpServerWorker.exceptionHandler:Lio/vertx/core/Handler;
12: return
end local 10 end local 9 end local 8 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 13 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 13 1 context Lio/vertx/core/impl/EventLoopContext;
0 13 2 streamContextSupplier Ljava/util/function/Supplier<Lio/vertx/core/impl/ContextInternal;>;
0 13 3 server Lio/vertx/core/http/impl/HttpServerImpl;
0 13 4 vertx Lio/vertx/core/impl/VertxInternal;
0 13 5 sslHelper Lio/vertx/core/net/impl/SSLHelper;
0 13 6 options Lio/vertx/core/http/HttpServerOptions;
0 13 7 serverOrigin Ljava/lang/String;
0 13 8 disableH2C Z
0 13 9 connectionHandler Lio/vertx/core/Handler<Lio/vertx/core/http/impl/HttpServerConnection;>;
0 13 10 exceptionHandler Lio/vertx/core/Handler<Ljava/lang/Throwable;>;
Signature: (Lio/vertx/core/impl/EventLoopContext;Ljava/util/function/Supplier<Lio/vertx/core/impl/ContextInternal;>;Lio/vertx/core/http/impl/HttpServerImpl;Lio/vertx/core/impl/VertxInternal;Lio/vertx/core/net/impl/SSLHelper;Lio/vertx/core/http/HttpServerOptions;Ljava/lang/String;ZLio/vertx/core/Handler<Lio/vertx/core/http/impl/HttpServerConnection;>;Lio/vertx/core/Handler<Ljava/lang/Throwable;>;)V
MethodParameters:
Name Flags
context
streamContextSupplier
server
vertx
sslHelper
options
serverOrigin
disableH2C
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 start local 1 0: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isUseProxyProtocol:()Z
invokestatic io.vertx.core.net.impl.HAProxyMessageCompletionHandler.canUseProxyProtocol:(Z)Z
ifeq 11
1: aload 1
invokeinterface io.netty.channel.Channel.eventLoop:()Lio/netty/channel/EventLoop;
invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
astore 3
start local 3 2: aload 1
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
3: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getProxyProtocolTimeout:()J
lconst_0
lcmp
ifle 7
4: aload 1
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
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getProxyProtocolTimeout:()J
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getProxyProtocolTimeoutUnit:()Ljava/util/concurrent/TimeUnit;
invokespecial io.netty.handler.timeout.IdleStateHandler.<init>:(JJJLjava/util/concurrent/TimeUnit;)V
dup
astore 2
start local 2 5: invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
6: goto 8
end local 2 7: StackMap locals: io.vertx.core.http.impl.HttpServerWorker io.netty.channel.Channel top io.netty.util.concurrent.Promise
StackMap stack:
aconst_null
astore 2
start local 2 8: StackMap locals: io.vertx.core.http.impl.HttpServerWorker io.netty.channel.Channel io.netty.handler.timeout.IdleStateHandler io.netty.util.concurrent.Promise
StackMap stack:
aload 1
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
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
9: aload 3
aload 0
aload 2
aload 1
invokedynamic operationComplete(Lio/vertx/core/http/impl/HttpServerWorker;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/http/impl/HttpServerWorker.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 end local 2 10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.vertx.core.http.impl.HttpServerWorker.configurePipeline:(Lio/netty/channel/Channel;)V
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 13 1 ch Lio/netty/channel/Channel;
5 7 2 idle Lio/netty/handler/timeout/IdleStateHandler;
8 10 2 idle Lio/netty/handler/timeout/IdleStateHandler;
2 10 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=11, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
astore 2
start local 2 1: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
invokevirtual io.vertx.core.net.impl.SSLHelper.isSSL:()Z
ifeq 13
2: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isSni:()Z
ifeq 6
3: new io.netty.handler.ssl.SniHandler
dup
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.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 3
start local 3 4: aload 2
iconst_1
anewarray io.netty.channel.ChannelHandler
dup
iconst_0
aload 3
aastore
invokeinterface io.netty.channel.ChannelPipeline.addLast:([Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
end local 3 5: goto 9
6: StackMap locals: io.netty.channel.ChannelPipeline
StackMap stack:
new io.netty.handler.ssl.SslHandler
dup
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.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 3
start local 3 7: aload 3
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
invokevirtual io.vertx.core.net.impl.SSLHelper.getSslHandshakeTimeout:()J
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.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
8: aload 2
ldc "ssl"
aload 3
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
end local 3 9: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.Channel.newPromise:()Lio/netty/channel/ChannelPromise;
astore 3
start local 3 10: aload 2
ldc "handshaker"
new io.vertx.core.net.impl.SslHandshakeCompletionHandler
dup
aload 3
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
11: aload 3
aload 0
aload 2
aload 1
invokedynamic operationComplete(Lio/vertx/core/http/impl/HttpServerWorker;Lio/netty/channel/ChannelPipeline;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/http/impl/HttpServerWorker.lambda$1(Lio/netty/channel/ChannelPipeline;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 3 12: goto 22
13: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.disableH2C:Z
ifeq 16
14: aload 0
aload 1
invokevirtual io.vertx.core.http.impl.HttpServerWorker.handleHttp1:(Lio/netty/channel/Channel;)V
15: goto 22
16: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getIdleTimeout:()I
ifle 20
17: aload 2
ldc "idle"
new io.netty.handler.timeout.IdleStateHandler
dup
lconst_0
lconst_0
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getIdleTimeout:()I
i2l
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getIdleTimeoutUnit:()Ljava/util/concurrent/TimeUnit;
invokespecial io.netty.handler.timeout.IdleStateHandler.<init>:(JJJLjava/util/concurrent/TimeUnit;)V
dup
astore 3
start local 3 18: invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
19: goto 21
end local 3 20: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 21: StackMap locals: io.netty.handler.timeout.IdleStateHandler
StackMap stack:
aload 2
iconst_1
anewarray io.netty.channel.ChannelHandler
dup
iconst_0
new io.vertx.core.http.impl.HttpServerWorker$1
dup
aload 0
aload 3
aload 2
aload 1
invokespecial io.vertx.core.http.impl.HttpServerWorker$1.<init>:(Lio/vertx/core/http/impl/HttpServerWorker;Lio/netty/handler/timeout/IdleStateHandler;Lio/netty/channel/ChannelPipeline;Lio/netty/channel/Channel;)V
aastore
invokeinterface io.netty.channel.ChannelPipeline.addLast:([Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
end local 3 22: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 23 1 ch Lio/netty/channel/Channel;
1 23 2 pipeline Lio/netty/channel/ChannelPipeline;
4 5 3 sniHandler Lio/netty/handler/ssl/SniHandler;
7 9 3 handler Lio/netty/handler/ssl/SslHandler;
10 12 3 p Lio/netty/channel/ChannelPromise;
18 20 3 idle Lio/netty/handler/timeout/IdleStateHandler;
21 22 3 idle Lio/netty/handler/timeout/IdleStateHandler;
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 start local 1 0: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.context:Lio/vertx/core/impl/EventLoopContext;
aload 1
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.exceptionHandler:Lio/vertx/core/Handler;
invokevirtual io.vertx.core.impl.EventLoopContext.emit:(Ljava/lang/Object;Lio/vertx/core/Handler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 2 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
private void handleHttp1(io.netty.channel.Channel);
descriptor: (Lio/netty/channel/Channel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
invokevirtual io.vertx.core.http.impl.HttpServerWorker.configureHttp1OrH2C:(Lio/netty/channel/ChannelPipeline;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 2 1 ch Lio/netty/channel/Channel;
MethodParameters:
Name Flags
ch
private void sendServiceUnavailable(io.netty.channel.Channel);
descriptor: (Lio/netty/channel/Channel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
1: ldc "HTTP/1.1 503 Service Unavailable\r\nContent-Length:0\r\n\r\n"
2: getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
3: invokestatic io.netty.buffer.Unpooled.copiedBuffer:(Ljava/lang/CharSequence;Ljava/nio/charset/Charset;)Lio/netty/buffer/ByteBuf;
4: invokeinterface io.netty.channel.Channel.writeAndFlush:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
5: getstatic io.netty.channel.ChannelFutureListener.CLOSE:Lio/netty/channel/ChannelFutureListener;
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 7 1 ch Lio/netty/channel/Channel;
MethodParameters:
Name Flags
ch
private void handleHttp2(io.netty.channel.Channel);
descriptor: (Lio/netty/channel/Channel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.context:Lio/vertx/core/impl/EventLoopContext;
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.connectionHandler:Lio/vertx/core/Handler;
invokevirtual io.vertx.core.http.impl.HttpServerWorker.buildHttp2ConnectionHandler:(Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/Handler;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
astore 2
start local 2 1: aload 1
invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
ldc "handler"
aload 2
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
2: aload 0
aload 1
invokeinterface io.netty.channel.Channel.pipeline:()Lio/netty/channel/ChannelPipeline;
invokevirtual io.vertx.core.http.impl.HttpServerWorker.configureHttp2:(Lio/netty/channel/ChannelPipeline;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 4 1 ch Lio/netty/channel/Channel;
1 4 2 handler Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler<Lio/vertx/core/http/impl/Http2ServerConnection;>;
MethodParameters:
Name Flags
ch
void configureHttp2(io.netty.channel.ChannelPipeline);
descriptor: (Lio/netty/channel/ChannelPipeline;)V
flags: (0x0000)
Code:
stack=12, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.server:Lio/vertx/core/http/impl/HttpServerImpl;
invokevirtual io.vertx.core.http.impl.HttpServerImpl.requestAccept:()Z
ifne 3
1: aload 1
invokeinterface io.netty.channel.ChannelPipeline.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.close:()Lio/netty/channel/ChannelFuture;
pop
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getIdleTimeout:()I
ifle 5
4: aload 1
ldc "handler"
ldc "idle"
new io.netty.handler.timeout.IdleStateHandler
dup
lconst_0
lconst_0
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getIdleTimeout:()I
i2l
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getIdleTimeoutUnit:()Ljava/util/concurrent/TimeUnit;
invokespecial io.netty.handler.timeout.IdleStateHandler.<init>:(JJJLjava/util/concurrent/TimeUnit;)V
invokeinterface io.netty.channel.ChannelPipeline.addBefore:(Ljava/lang/String;Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 6 1 pipeline Lio/netty/channel/ChannelPipeline;
MethodParameters:
Name Flags
pipeline
io.vertx.core.http.impl.VertxHttp2ConnectionHandler<io.vertx.core.http.impl.Http2ServerConnection> buildHttp2ConnectionHandler(io.vertx.core.impl.EventLoopContext, io.vertx.core.Handler<io.vertx.core.http.impl.HttpServerConnection>);
descriptor: (Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/Handler;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.server:Lio/vertx/core/http/impl/HttpServerImpl;
invokevirtual io.vertx.core.http.impl.HttpServerImpl.getMetrics:()Lio/vertx/core/spi/metrics/TCPMetrics;
checkcast io.vertx.core.spi.metrics.HttpServerMetrics
astore 3
start local 3 1: new io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder
dup
invokespecial io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.<init>:()V
2: iconst_1
invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.server:(Z)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
3: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isCompressionSupported:()Z
invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.useCompression:(Z)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
4: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isDecompressionSupported:()Z
invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.useDecompression:(Z)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
5: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getCompressionLevel:()I
invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.compressionLevel:(I)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
6: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getInitialSettings:()Lio/vertx/core/http/Http2Settings;
invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.initialSettings:(Lio/vertx/core/http/Http2Settings;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
7: aload 0
aload 1
aload 3
invokedynamic apply(Lio/vertx/core/http/impl/HttpServerWorker;Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/spi/metrics/HttpServerMetrics;)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/http/impl/HttpServerWorker.lambda$2(Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/spi/metrics/HttpServerMetrics;Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;)Lio/vertx/core/http/impl/Http2ServerConnection; (7)
(Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;)Lio/vertx/core/http/impl/Http2ServerConnection;
invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.connectionFactory:(Ljava/util/function/Function;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
8: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.logEnabled:Z
invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.logEnabled:(Z)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandlerBuilder;
9: invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandlerBuilder.build:()Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
10: astore 4
start local 4 11: aload 4
aload 0
aload 3
aload 2
invokedynamic handle(Lio/vertx/core/http/impl/HttpServerWorker;Lio/vertx/core/spi/metrics/HttpServerMetrics;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/http/impl/HttpServerWorker.lambda$3(Lio/vertx/core/spi/metrics/HttpServerMetrics;Lio/vertx/core/Handler;Lio/vertx/core/http/impl/Http2ServerConnection;)V (7)
(Lio/vertx/core/http/impl/Http2ServerConnection;)V
invokevirtual io.vertx.core.http.impl.VertxHttp2ConnectionHandler.addHandler:(Lio/vertx/core/Handler;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;
pop
12: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 13 1 ctx Lio/vertx/core/impl/EventLoopContext;
0 13 2 handler_ Lio/vertx/core/Handler<Lio/vertx/core/http/impl/HttpServerConnection;>;
1 13 3 metrics Lio/vertx/core/spi/metrics/HttpServerMetrics;
11 13 4 handler Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler<Lio/vertx/core/http/impl/Http2ServerConnection;>;
Signature: (Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/Handler<Lio/vertx/core/http/impl/HttpServerConnection;>;)Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler<Lio/vertx/core/http/impl/Http2ServerConnection;>;
MethodParameters:
Name Flags
ctx
handler_
private void configureHttp1OrH2C(io.netty.channel.ChannelPipeline);
descriptor: (Lio/netty/channel/ChannelPipeline;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.logEnabled:Z
ifeq 2
1: aload 1
ldc "logging"
new io.netty.handler.logging.LoggingHandler
dup
invokespecial io.netty.handler.logging.LoggingHandler.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
2: StackMap locals:
StackMap stack:
getstatic io.vertx.core.http.impl.HttpServerImpl.USE_FLASH_POLICY_HANDLER:Z
ifeq 4
3: aload 1
ldc "flashpolicy"
new io.vertx.core.http.impl.cgbystrom.FlashPolicyHandler
dup
invokespecial io.vertx.core.http.impl.cgbystrom.FlashPolicyHandler.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
4: StackMap locals:
StackMap stack:
aload 1
ldc "httpDecoder"
new io.vertx.core.http.impl.VertxHttpRequestDecoder
dup
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokespecial io.vertx.core.http.impl.VertxHttpRequestDecoder.<init>:(Lio/vertx/core/http/HttpServerOptions;)V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
5: aload 1
ldc "httpEncoder"
new io.vertx.core.http.impl.VertxHttpResponseEncoder
dup
invokespecial io.vertx.core.http.impl.VertxHttpResponseEncoder.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
6: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isDecompressionSupported:()Z
ifeq 8
7: aload 1
ldc "inflater"
new io.netty.handler.codec.http.HttpContentDecompressor
dup
iconst_0
invokespecial io.netty.handler.codec.http.HttpContentDecompressor.<init>:(Z)V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
8: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isCompressionSupported:()Z
ifeq 10
9: aload 1
ldc "deflater"
new io.vertx.core.http.impl.HttpChunkContentCompressor
dup
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getCompressionLevel:()I
invokespecial io.vertx.core.http.impl.HttpChunkContentCompressor.<init>:(I)V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
10: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
invokevirtual io.vertx.core.net.impl.SSLHelper.isSSL:()Z
ifne 11
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isCompressionSupported:()Z
ifeq 12
11: StackMap locals:
StackMap stack:
aload 1
ldc "chunkedWriter"
new io.netty.handler.stream.ChunkedWriteHandler
dup
invokespecial io.netty.handler.stream.ChunkedWriteHandler.<init>:()V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
12: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getIdleTimeout:()I
ifle 14
13: aload 1
ldc "idle"
new io.netty.handler.timeout.IdleStateHandler
dup
lconst_0
lconst_0
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getIdleTimeout:()I
i2l
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getIdleTimeoutUnit:()Ljava/util/concurrent/TimeUnit;
invokespecial io.netty.handler.timeout.IdleStateHandler.<init>:(JJJLjava/util/concurrent/TimeUnit;)V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
14: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.disableH2C:Z
ifeq 17
15: aload 0
aload 1
invokevirtual io.vertx.core.http.impl.HttpServerWorker.configureHttp1:(Lio/netty/channel/ChannelPipeline;)V
16: goto 18
17: StackMap locals:
StackMap stack:
aload 1
ldc "h2c"
new io.vertx.core.http.impl.Http1xUpgradeToH2CHandler
dup
aload 0
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isCompressionSupported:()Z
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isDecompressionSupported:()Z
invokespecial io.vertx.core.http.impl.Http1xUpgradeToH2CHandler.<init>:(Lio/vertx/core/http/impl/HttpServerWorker;ZZ)V
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 19 1 pipeline Lio/netty/channel/ChannelPipeline;
MethodParameters:
Name Flags
pipeline
void configureHttp1(io.netty.channel.ChannelPipeline);
descriptor: (Lio/netty/channel/ChannelPipeline;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.server:Lio/vertx/core/http/impl/HttpServerImpl;
invokevirtual io.vertx.core.http.impl.HttpServerImpl.requestAccept:()Z
ifne 3
1: aload 0
aload 1
invokeinterface io.netty.channel.ChannelPipeline.channel:()Lio/netty/channel/Channel;
invokevirtual io.vertx.core.http.impl.HttpServerWorker.sendServiceUnavailable:(Lio/netty/channel/Channel;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.server:Lio/vertx/core/http/impl/HttpServerImpl;
invokevirtual io.vertx.core.http.impl.HttpServerImpl.getMetrics:()Lio/vertx/core/spi/metrics/TCPMetrics;
checkcast io.vertx.core.spi.metrics.HttpServerMetrics
astore 2
start local 2 4: aload 0
aload 2
invokedynamic apply(Lio/vertx/core/http/impl/HttpServerWorker;Lio/vertx/core/spi/metrics/HttpServerMetrics;)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/http/impl/HttpServerWorker.lambda$4(Lio/vertx/core/spi/metrics/HttpServerMetrics;Lio/netty/channel/ChannelHandlerContext;)Lio/vertx/core/http/impl/Http1xServerConnection; (7)
(Lio/netty/channel/ChannelHandlerContext;)Lio/vertx/core/http/impl/Http1xServerConnection;
invokestatic io.vertx.core.net.impl.VertxHandler.create:(Ljava/util/function/Function;)Lio/vertx/core/net/impl/VertxHandler;
astore 3
start local 3 5: aload 1
ldc "handler"
aload 3
invokeinterface io.netty.channel.ChannelPipeline.addLast:(Ljava/lang/String;Lio/netty/channel/ChannelHandler;)Lio/netty/channel/ChannelPipeline;
pop
6: aload 3
invokevirtual io.vertx.core.net.impl.VertxHandler.getConnection:()Lio/vertx/core/net/impl/ConnectionBase;
checkcast io.vertx.core.http.impl.Http1xServerConnection
astore 4
start local 4 7: aload 2
ifnull 9
8: aload 4
aload 2
aload 4
invokevirtual io.vertx.core.http.impl.Http1xServerConnection.remoteAddress:()Lio/vertx/core/net/SocketAddress;
aload 4
invokevirtual io.vertx.core.http.impl.Http1xServerConnection.remoteName:()Ljava/lang/String;
invokeinterface io.vertx.core.spi.metrics.HttpServerMetrics.connected:(Lio/vertx/core/net/SocketAddress;Ljava/lang/String;)Ljava/lang/Object;
invokevirtual io.vertx.core.http.impl.Http1xServerConnection.metric:(Ljava/lang/Object;)V
9: StackMap locals: io.vertx.core.spi.metrics.HttpServerMetrics io.vertx.core.net.impl.VertxHandler io.vertx.core.http.impl.Http1xServerConnection
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.connectionHandler:Lio/vertx/core/Handler;
aload 4
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 11 1 pipeline Lio/netty/channel/ChannelPipeline;
4 11 2 metrics Lio/vertx/core/spi/metrics/HttpServerMetrics;
5 11 3 handler Lio/vertx/core/net/impl/VertxHandler<Lio/vertx/core/http/impl/Http1xServerConnection;>;
7 11 4 conn Lio/vertx/core/http/impl/Http1xServerConnection;
MethodParameters:
Name Flags
pipeline
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: aload 0
aload 1
checkcast io.netty.channel.Channel
invokevirtual io.vertx.core.http.impl.HttpServerWorker.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 start local 3 0: aload 3
invokeinterface io.netty.util.concurrent.Future.isSuccess:()Z
ifeq 5
1: aload 1
ifnull 3
2: 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: StackMap locals:
StackMap stack:
aload 0
aload 3
invokeinterface io.netty.util.concurrent.Future.getNow:()Ljava/lang/Object;
checkcast io.netty.channel.Channel
invokevirtual io.vertx.core.http.impl.HttpServerWorker.configurePipeline:(Lio/netty/channel/Channel;)V
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 3
invokeinterface io.netty.util.concurrent.Future.cause:()Ljava/lang/Throwable;
invokevirtual io.vertx.core.http.impl.HttpServerWorker.handleException:(Ljava/lang/Throwable;)V
6: StackMap locals:
StackMap stack:
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/core/http/impl/HttpServerWorker;
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.ChannelPipeline, io.netty.channel.Channel, io.netty.util.concurrent.Future);
descriptor: (Lio/netty/channel/ChannelPipeline;Lio/netty/channel/Channel;Lio/netty/util/concurrent/Future;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=6, args_size=4
start local 0 start local 3 0: aload 3
invokeinterface io.netty.util.concurrent.Future.isSuccess:()Z
ifeq 11
1: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.isUseAlpn:()Z
ifeq 9
2: aload 1
ldc Lio/netty/handler/ssl/SslHandler;
invokeinterface io.netty.channel.ChannelPipeline.get:(Ljava/lang/Class;)Lio/netty/channel/ChannelHandler;
checkcast io.netty.handler.ssl.SslHandler
astore 4
start local 4 3: aload 4
invokevirtual io.netty.handler.ssl.SslHandler.applicationProtocol:()Ljava/lang/String;
astore 5
start local 5 4: ldc "h2"
aload 5
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
aload 2
invokevirtual io.vertx.core.http.impl.HttpServerWorker.handleHttp2:(Lio/netty/channel/Channel;)V
6: goto 12
7: StackMap locals: io.netty.handler.ssl.SslHandler java.lang.String
StackMap stack:
aload 0
aload 2
invokevirtual io.vertx.core.http.impl.HttpServerWorker.handleHttp1:(Lio/netty/channel/Channel;)V
end local 5 end local 4 8: goto 12
9: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.vertx.core.http.impl.HttpServerWorker.handleHttp1:(Lio/netty/channel/Channel;)V
10: goto 12
11: StackMap locals:
StackMap stack:
aload 0
aload 3
invokeinterface io.netty.util.concurrent.Future.cause:()Ljava/lang/Throwable;
invokevirtual io.vertx.core.http.impl.HttpServerWorker.handleException:(Ljava/lang/Throwable;)V
12: StackMap locals:
StackMap stack:
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 13 3 future Lio/netty/util/concurrent/Future<-Ljava/lang/Void;>;
3 8 4 sslHandler Lio/netty/handler/ssl/SslHandler;
4 8 5 protocol Ljava/lang/String;
Exceptions:
throws java.lang.Exception
private io.vertx.core.http.impl.Http2ServerConnection lambda$2(io.vertx.core.impl.EventLoopContext, io.vertx.core.spi.metrics.HttpServerMetrics, io.vertx.core.http.impl.VertxHttp2ConnectionHandler);
descriptor: (Lio/vertx/core/impl/EventLoopContext;Lio/vertx/core/spi/metrics/HttpServerMetrics;Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;)Lio/vertx/core/http/impl/Http2ServerConnection;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=8, locals=4, args_size=4
start local 0 start local 3 0: new io.vertx.core.http.impl.Http2ServerConnection
dup
aload 1
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.streamContextSupplier:Ljava/util/function/Supplier;
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.serverOrigin:Ljava/lang/String;
aload 3
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
aload 2
invokespecial io.vertx.core.http.impl.Http2ServerConnection.<init>:(Lio/vertx/core/impl/EventLoopContext;Ljava/util/function/Supplier;Ljava/lang/String;Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler;Lio/vertx/core/http/HttpServerOptions;Lio/vertx/core/spi/metrics/HttpServerMetrics;)V
areturn
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 1 3 connHandler Lio/vertx/core/http/impl/VertxHttp2ConnectionHandler<Lio/vertx/core/http/impl/Http2ServerConnection;>;
private void lambda$3(io.vertx.core.spi.metrics.HttpServerMetrics, io.vertx.core.Handler, io.vertx.core.http.impl.Http2ServerConnection);
descriptor: (Lio/vertx/core/spi/metrics/HttpServerMetrics;Lio/vertx/core/Handler;Lio/vertx/core/http/impl/Http2ServerConnection;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 1
ifnull 2
1: aload 3
aload 1
aload 3
invokevirtual io.vertx.core.http.impl.Http2ServerConnection.remoteAddress:()Lio/vertx/core/net/SocketAddress;
aload 3
invokevirtual io.vertx.core.http.impl.Http2ServerConnection.remoteName:()Ljava/lang/String;
invokeinterface io.vertx.core.spi.metrics.HttpServerMetrics.connected:(Lio/vertx/core/net/SocketAddress;Ljava/lang/String;)Ljava/lang/Object;
invokevirtual io.vertx.core.http.impl.Http2ServerConnection.metric:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getHttp2ConnectionWindowSize:()I
ifle 4
3: aload 3
aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
invokevirtual io.vertx.core.http.HttpServerOptions.getHttp2ConnectionWindowSize:()I
invokevirtual io.vertx.core.http.impl.Http2ServerConnection.setWindowSize:(I)Lio/vertx/core/http/HttpConnection;
pop
4: StackMap locals:
StackMap stack:
aload 2
aload 3
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
5: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 6 3 conn Lio/vertx/core/http/impl/Http2ServerConnection;
private io.vertx.core.http.impl.Http1xServerConnection lambda$4(io.vertx.core.spi.metrics.HttpServerMetrics, io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/vertx/core/spi/metrics/HttpServerMetrics;Lio/netty/channel/ChannelHandlerContext;)Lio/vertx/core/http/impl/Http1xServerConnection;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=9, locals=4, args_size=3
start local 0 start local 2 0: new io.vertx.core.http.impl.Http1xServerConnection
dup
1: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.streamContextSupplier:Ljava/util/function/Supplier;
2: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.sslHelper:Lio/vertx/core/net/impl/SSLHelper;
3: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.options:Lio/vertx/core/http/HttpServerOptions;
4: aload 2
5: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.context:Lio/vertx/core/impl/EventLoopContext;
6: aload 0
getfield io.vertx.core.http.impl.HttpServerWorker.serverOrigin:Ljava/lang/String;
7: aload 1
8: invokespecial io.vertx.core.http.impl.Http1xServerConnection.<init>:(Ljava/util/function/Supplier;Lio/vertx/core/net/impl/SSLHelper;Lio/vertx/core/http/HttpServerOptions;Lio/netty/channel/ChannelHandlerContext;Lio/vertx/core/impl/ContextInternal;Ljava/lang/String;Lio/vertx/core/spi/metrics/HttpServerMetrics;)V
astore 3
start local 3 9: aload 3
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/core/http/impl/HttpServerWorker;
0 10 2 chctx Lio/netty/channel/ChannelHandlerContext;
9 10 3 conn Lio/vertx/core/http/impl/Http1xServerConnection;
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Lio/netty/channel/Channel;>;
SourceFile: "HttpServerWorker.java"
NestMembers:
io.vertx.core.http.impl.HttpServerWorker$1
InnerClasses:
io.vertx.core.http.impl.HttpServerWorker$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles