public final class io.undertow.server.protocol.http2.Http2OpenListener implements org.xnio.ChannelListener<org.xnio.StreamConnection>, io.undertow.server.DelegateOpenListener
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.undertow.server.protocol.http2.Http2OpenListener
super_class: java.lang.Object
{
public static final java.lang.String HTTP2;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "h2"
public static final java.lang.String HTTP2_14;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "h2-14"
RuntimeVisibleAnnotations:
java.lang.Deprecated()
private final io.undertow.connector.ByteBufferPool bufferPool;
descriptor: Lio/undertow/connector/ByteBufferPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int bufferSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.ChannelListener<io.undertow.protocols.http2.Http2Channel> closeTask;
descriptor: Lorg/xnio/ChannelListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/xnio/ChannelListener<Lio/undertow/protocols/http2/Http2Channel;>;
private volatile io.undertow.server.HttpHandler rootHandler;
descriptor: Lio/undertow/server/HttpHandler;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile org.xnio.OptionMap undertowOptions;
descriptor: Lorg/xnio/OptionMap;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean statisticsEnabled;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final io.undertow.server.ConnectorStatisticsImpl connectorStatistics;
descriptor: Lio/undertow/server/ConnectorStatisticsImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String protocol;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(org.xnio.Pool<java.nio.ByteBuffer>);
descriptor: (Lorg/xnio/Pool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.xnio.OptionMap.EMPTY:Lorg/xnio/OptionMap;
invokespecial io.undertow.server.protocol.http2.Http2OpenListener.<init>:(Lorg/xnio/Pool;Lorg/xnio/OptionMap;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
0 2 1 pool Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;
Signature: (Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;)V
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
pool final
public void <init>(org.xnio.Pool<java.nio.ByteBuffer>, org.xnio.OptionMap);
descriptor: (Lorg/xnio/Pool;Lorg/xnio/OptionMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
ldc "h2"
invokespecial io.undertow.server.protocol.http2.Http2OpenListener.<init>:(Lorg/xnio/Pool;Lorg/xnio/OptionMap;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
0 2 1 pool Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;
0 2 2 undertowOptions Lorg/xnio/OptionMap;
Signature: (Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;Lorg/xnio/OptionMap;)V
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
pool final
undertowOptions final
public void <init>(org.xnio.Pool<java.nio.ByteBuffer>, org.xnio.OptionMap, java.lang.String);
descriptor: (Lorg/xnio/Pool;Lorg/xnio/OptionMap;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new io.undertow.server.XnioByteBufferPool
dup
aload 1
invokespecial io.undertow.server.XnioByteBufferPool.<init>:(Lorg/xnio/Pool;)V
aload 2
aload 3
invokespecial io.undertow.server.protocol.http2.Http2OpenListener.<init>:(Lio/undertow/connector/ByteBufferPool;Lorg/xnio/OptionMap;Ljava/lang/String;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
0 2 1 pool Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;
0 2 2 undertowOptions Lorg/xnio/OptionMap;
0 2 3 protocol Ljava/lang/String;
Signature: (Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;Lorg/xnio/OptionMap;Ljava/lang/String;)V
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
pool final
undertowOptions final
protocol
public void <init>(io.undertow.connector.ByteBufferPool);
descriptor: (Lio/undertow/connector/ByteBufferPool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.xnio.OptionMap.EMPTY:Lorg/xnio/OptionMap;
invokespecial io.undertow.server.protocol.http2.Http2OpenListener.<init>:(Lio/undertow/connector/ByteBufferPool;Lorg/xnio/OptionMap;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
0 2 1 pool Lio/undertow/connector/ByteBufferPool;
MethodParameters:
Name Flags
pool final
public void <init>(io.undertow.connector.ByteBufferPool, org.xnio.OptionMap);
descriptor: (Lio/undertow/connector/ByteBufferPool;Lorg/xnio/OptionMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
ldc "h2"
invokespecial io.undertow.server.protocol.http2.Http2OpenListener.<init>:(Lio/undertow/connector/ByteBufferPool;Lorg/xnio/OptionMap;Ljava/lang/String;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
0 2 1 pool Lio/undertow/connector/ByteBufferPool;
0 2 2 undertowOptions Lorg/xnio/OptionMap;
MethodParameters:
Name Flags
pool final
undertowOptions final
public void <init>(io.undertow.connector.ByteBufferPool, org.xnio.OptionMap, java.lang.String);
descriptor: (Lio/undertow/connector/ByteBufferPool;Lorg/xnio/OptionMap;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new io.undertow.server.protocol.http2.Http2OpenListener$1
dup
aload 0
invokespecial io.undertow.server.protocol.http2.Http2OpenListener$1.<init>:(Lio/undertow/server/protocol/http2/Http2OpenListener;)V
putfield io.undertow.server.protocol.http2.Http2OpenListener.closeTask:Lorg/xnio/ChannelListener;
2: aload 0
aload 2
putfield io.undertow.server.protocol.http2.Http2OpenListener.undertowOptions:Lorg/xnio/OptionMap;
3: aload 0
aload 1
putfield io.undertow.server.protocol.http2.Http2OpenListener.bufferPool:Lio/undertow/connector/ByteBufferPool;
4: aload 1
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
astore 4
start local 4 5: aload 0
aload 4
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
putfield io.undertow.server.protocol.http2.Http2OpenListener.bufferSize:I
6: aload 4
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
7: aload 0
new io.undertow.server.ConnectorStatisticsImpl
dup
invokespecial io.undertow.server.ConnectorStatisticsImpl.<init>:()V
putfield io.undertow.server.protocol.http2.Http2OpenListener.connectorStatistics:Lio/undertow/server/ConnectorStatisticsImpl;
8: aload 0
aload 2
getstatic io.undertow.UndertowOptions.ENABLE_STATISTICS:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
putfield io.undertow.server.protocol.http2.Http2OpenListener.statisticsEnabled:Z
9: aload 0
aload 3
putfield io.undertow.server.protocol.http2.Http2OpenListener.protocol:Ljava/lang/String;
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/undertow/server/protocol/http2/Http2OpenListener;
0 11 1 pool Lio/undertow/connector/ByteBufferPool;
0 11 2 undertowOptions Lorg/xnio/OptionMap;
0 11 3 protocol Ljava/lang/String;
5 11 4 buf Lio/undertow/connector/PooledByteBuffer;
MethodParameters:
Name Flags
pool final
undertowOptions final
protocol
public void handleEvent(org.xnio.StreamConnection, io.undertow.connector.PooledByteBuffer);
descriptor: (Lorg/xnio/StreamConnection;Lio/undertow/connector/PooledByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
invokeinterface io.undertow.UndertowLogger.isTraceEnabled:()Z
ifeq 2
1: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Opened HTTP/2 connection with %s"
aload 1
invokevirtual org.xnio.StreamConnection.getPeerAddress:()Ljava/net/SocketAddress;
invokeinterface io.undertow.UndertowLogger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
new io.undertow.protocols.http2.Http2Channel
dup
aload 1
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.protocol:Ljava/lang/String;
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.bufferPool:Lio/undertow/connector/ByteBufferPool;
aload 2
iconst_0
iconst_0
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.undertowOptions:Lorg/xnio/OptionMap;
invokespecial io.undertow.protocols.http2.Http2Channel.<init>:(Lorg/xnio/StreamConnection;Ljava/lang/String;Lio/undertow/connector/ByteBufferPool;Lio/undertow/connector/PooledByteBuffer;ZZLorg/xnio/OptionMap;)V
astore 3
start local 3 3: aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.undertowOptions:Lorg/xnio/OptionMap;
getstatic io.undertow.UndertowOptions.IDLE_TIMEOUT:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 4
start local 4 4: aload 4
ifnull 6
aload 4
invokevirtual java.lang.Integer.intValue:()I
ifle 6
5: aload 3
aload 4
invokevirtual java.lang.Integer.intValue:()I
i2l
invokevirtual io.undertow.protocols.http2.Http2Channel.setIdleTimeout:(J)V
6: StackMap locals: io.undertow.protocols.http2.Http2Channel java.lang.Integer
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.statisticsEnabled:Z
ifeq 11
7: aload 1
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
new io.undertow.conduits.BytesSentStreamSinkConduit
dup
aload 1
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.connectorStatistics:Lio/undertow/server/ConnectorStatisticsImpl;
invokevirtual io.undertow.server.ConnectorStatisticsImpl.sentAccumulator:()Lio/undertow/conduits/ByteActivityCallback;
invokespecial io.undertow.conduits.BytesSentStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ByteActivityCallback;)V
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.setConduit:(Lorg/xnio/conduits/StreamSinkConduit;)V
8: aload 1
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
new io.undertow.conduits.BytesReceivedStreamSourceConduit
dup
aload 1
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.connectorStatistics:Lio/undertow/server/ConnectorStatisticsImpl;
invokevirtual io.undertow.server.ConnectorStatisticsImpl.receivedAccumulator:()Lio/undertow/conduits/ByteActivityCallback;
invokespecial io.undertow.conduits.BytesReceivedStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;Lio/undertow/conduits/ByteActivityCallback;)V
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
9: aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.connectorStatistics:Lio/undertow/server/ConnectorStatisticsImpl;
invokevirtual io.undertow.server.ConnectorStatisticsImpl.incrementConnectionCount:()V
10: aload 3
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.closeTask:Lorg/xnio/ChannelListener;
invokevirtual io.undertow.protocols.http2.Http2Channel.addCloseTask:(Lorg/xnio/ChannelListener;)V
11: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.protocols.http2.Http2Channel.getReceiveSetter:()Lorg/xnio/ChannelListener$Setter;
new io.undertow.server.protocol.http2.Http2ReceiveListener
dup
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.rootHandler:Lio/undertow/server/HttpHandler;
aload 0
invokevirtual io.undertow.server.protocol.http2.Http2OpenListener.getUndertowOptions:()Lorg/xnio/OptionMap;
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.bufferSize:I
aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.connectorStatistics:Lio/undertow/server/ConnectorStatisticsImpl;
invokespecial io.undertow.server.protocol.http2.Http2ReceiveListener.<init>:(Lio/undertow/server/HttpHandler;Lorg/xnio/OptionMap;ILio/undertow/server/ConnectorStatisticsImpl;)V
invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
12: aload 3
invokevirtual io.undertow.protocols.http2.Http2Channel.resumeReceives:()V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
0 14 1 channel Lorg/xnio/StreamConnection;
0 14 2 buffer Lio/undertow/connector/PooledByteBuffer;
3 14 3 http2Channel Lio/undertow/protocols/http2/Http2Channel;
4 14 4 idleTimeout Ljava/lang/Integer;
MethodParameters:
Name Flags
channel final
buffer
public io.undertow.server.ConnectorStatistics getConnectorStatistics();
descriptor: ()Lio/undertow/server/ConnectorStatistics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.statisticsEnabled:Z
ifeq 2
1: aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.connectorStatistics:Lio/undertow/server/ConnectorStatisticsImpl;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
public io.undertow.server.HttpHandler getRootHandler();
descriptor: ()Lio/undertow/server/HttpHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.rootHandler:Lio/undertow/server/HttpHandler;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
public void setRootHandler(io.undertow.server.HttpHandler);
descriptor: (Lio/undertow/server/HttpHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.undertow.server.protocol.http2.Http2OpenListener.rootHandler:Lio/undertow/server/HttpHandler;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
0 2 1 rootHandler Lio/undertow/server/HttpHandler;
MethodParameters:
Name Flags
rootHandler final
public org.xnio.OptionMap getUndertowOptions();
descriptor: ()Lorg/xnio/OptionMap;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.undertowOptions:Lorg/xnio/OptionMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
public void setUndertowOptions(org.xnio.OptionMap);
descriptor: (Lorg/xnio/OptionMap;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
ldc "undertowOptions"
invokeinterface io.undertow.UndertowMessages.argumentCannotBeNull:(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield io.undertow.server.protocol.http2.Http2OpenListener.undertowOptions:Lorg/xnio/OptionMap;
3: aload 0
aload 1
getstatic io.undertow.UndertowOptions.ENABLE_CONNECTOR_STATISTICS:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
putfield io.undertow.server.protocol.http2.Http2OpenListener.statisticsEnabled:Z
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
0 5 1 undertowOptions Lorg/xnio/OptionMap;
MethodParameters:
Name Flags
undertowOptions final
public io.undertow.connector.ByteBufferPool getBufferPool();
descriptor: ()Lio/undertow/connector/ByteBufferPool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http2.Http2OpenListener.bufferPool:Lio/undertow/connector/ByteBufferPool;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
public void handleEvent(org.xnio.StreamConnection);
descriptor: (Lorg/xnio/StreamConnection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual io.undertow.server.protocol.http2.Http2OpenListener.handleEvent:(Lorg/xnio/StreamConnection;Lio/undertow/connector/PooledByteBuffer;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/http2/Http2OpenListener;
0 2 1 channel Lorg/xnio/StreamConnection;
MethodParameters:
Name Flags
channel
public void handleEvent(java.nio.channels.Channel);
descriptor: (Ljava/nio/channels/Channel;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.xnio.StreamConnection
invokevirtual io.undertow.server.protocol.http2.Http2OpenListener.handleEvent:(Lorg/xnio/StreamConnection;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lorg/xnio/ChannelListener<Lorg/xnio/StreamConnection;>;Lio/undertow/server/DelegateOpenListener;
SourceFile: "Http2OpenListener.java"
NestMembers:
io.undertow.server.protocol.http2.Http2OpenListener$1
InnerClasses:
io.undertow.server.protocol.http2.Http2OpenListener$1
public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener