class io.undertow.protocols.ssl.UndertowAcceptingSslChannel implements org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
super_class: java.lang.Object
{
static final java.lang.reflect.Method USE_CIPHER_SUITES_METHOD;
descriptor: Ljava/lang/reflect/Method;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final io.undertow.protocols.ssl.UndertowXnioSsl ssl;
descriptor: Lio/undertow/protocols/ssl/UndertowXnioSsl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.channels.AcceptingChannel<? extends org.xnio.StreamConnection> tcpServer;
descriptor: Lorg/xnio/channels/AcceptingChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/xnio/channels/AcceptingChannel<+Lorg/xnio/StreamConnection;>;
private volatile org.xnio.SslClientAuthMode clientAuthMode;
descriptor: Lorg/xnio/SslClientAuthMode;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int useClientMode;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int enableSessionCreation;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.lang.String[] cipherSuites;
descriptor: [Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile java.lang.String[] protocols;
descriptor: [Ljava/lang/String;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel, org.xnio.SslClientAuthMode> clientAuthModeUpdater;
descriptor: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater<Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;Lorg/xnio/SslClientAuthMode;>;
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel> useClientModeUpdater;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;>;
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.protocols.ssl.UndertowAcceptingSslChannel> enableSessionCreationUpdater;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;>;
private final org.xnio.ChannelListener$Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>> closeSetter;
descriptor: Lorg/xnio/ChannelListener$Setter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/xnio/ChannelListener$Setter<Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/ssl/SslConnection;>;>;
private final org.xnio.ChannelListener$Setter<org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>> acceptSetter;
descriptor: Lorg/xnio/ChannelListener$Setter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/xnio/ChannelListener$Setter<Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/ssl/SslConnection;>;>;
protected final boolean startTls;
descriptor: Z
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final io.undertow.connector.ByteBufferPool applicationBufferPool;
descriptor: Lio/undertow/connector/ByteBufferPool;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private final boolean useCipherSuitesOrder;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.util.Set<org.xnio.Option<?>> SUPPORTED_OPTIONS;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Lorg/xnio/Option<*>;>;
private static volatile int[] $SWITCH_TABLE$org$xnio$SslClientAuthMode;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=1, args_size=0
0: aconst_null
astore 0
start local 0 1: ldc Ljavax/net/ssl/SSLParameters;
ldc "setUseCipherSuitesOrder"
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 0
2: aload 0
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
3: goto 5
StackMap locals: java.lang.reflect.Method
StackMap stack: java.lang.NoSuchMethodException
4: pop
5: StackMap locals:
StackMap stack:
aload 0
putstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.USE_CIPHER_SUITES_METHOD:Ljava/lang/reflect/Method;
end local 0 6: ldc Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
ldc Lorg/xnio/SslClientAuthMode;
ldc "clientAuthMode"
invokestatic java.util.concurrent.atomic.AtomicReferenceFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
putstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.clientAuthModeUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
7: ldc Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
ldc "useClientMode"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
putstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.useClientModeUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
8: ldc Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
ldc "enableSessionCreation"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
putstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.enableSessionCreationUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
9: invokestatic org.xnio.Option.setBuilder:()Lorg/xnio/Option$SetBuilder;
10: getstatic org.xnio.Options.SSL_CLIENT_AUTH_MODE:Lorg/xnio/Option;
invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
11: getstatic org.xnio.Options.SSL_USE_CLIENT_MODE:Lorg/xnio/Option;
invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
12: getstatic org.xnio.Options.SSL_ENABLE_SESSION_CREATION:Lorg/xnio/Option;
invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
13: getstatic org.xnio.Options.SSL_ENABLED_CIPHER_SUITES:Lorg/xnio/Option;
invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
14: getstatic org.xnio.Options.SSL_ENABLED_PROTOCOLS:Lorg/xnio/Option;
invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
15: invokevirtual org.xnio.Option$SetBuilder.create:()Ljava/util/Set;
16: putstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.SUPPORTED_OPTIONS:Ljava/util/Set;
17: return
LocalVariableTable:
Start End Slot Name Signature
1 6 0 method Ljava/lang/reflect/Method;
Exception table:
from to target type
1 3 4 Class java.lang.NoSuchMethodException
void <init>(io.undertow.protocols.ssl.UndertowXnioSsl, org.xnio.channels.AcceptingChannel<? extends org.xnio.StreamConnection>, org.xnio.OptionMap, io.undertow.connector.ByteBufferPool, );
descriptor: (Lio/undertow/protocols/ssl/UndertowXnioSsl;Lorg/xnio/channels/AcceptingChannel;Lorg/xnio/OptionMap;Lio/undertow/connector/ByteBufferPool;Z)V
flags: (0x0000)
Code:
stack=4, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
2: aload 0
aload 1
putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.ssl:Lio/undertow/protocols/ssl/UndertowXnioSsl;
3: aload 0
aload 4
putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.applicationBufferPool:Lio/undertow/connector/ByteBufferPool;
4: aload 0
iload 5
putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.startTls:Z
5: aload 0
aload 3
getstatic org.xnio.Options.SSL_CLIENT_AUTH_MODE:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;)Ljava/lang/Object;
checkcast org.xnio.SslClientAuthMode
putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.clientAuthMode:Lorg/xnio/SslClientAuthMode;
6: aload 0
aload 3
getstatic org.xnio.Options.SSL_USE_CLIENT_MODE:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
ifeq 7
iconst_1
goto 8
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel io.undertow.protocols.ssl.UndertowXnioSsl org.xnio.channels.AcceptingChannel org.xnio.OptionMap io.undertow.connector.ByteBufferPool int
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
7: iconst_0
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel io.undertow.protocols.ssl.UndertowXnioSsl org.xnio.channels.AcceptingChannel org.xnio.OptionMap io.undertow.connector.ByteBufferPool int
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel int
8: putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.useClientMode:I
9: aload 0
aload 3
getstatic org.xnio.Options.SSL_ENABLE_SESSION_CREATION:Lorg/xnio/Option;
iconst_1
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
ifeq 10
iconst_1
goto 11
StackMap locals:
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
10: iconst_0
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel io.undertow.protocols.ssl.UndertowXnioSsl org.xnio.channels.AcceptingChannel org.xnio.OptionMap io.undertow.connector.ByteBufferPool int
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel int
11: putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.enableSessionCreation:I
12: aload 3
getstatic org.xnio.Options.SSL_ENABLED_CIPHER_SUITES:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;)Ljava/lang/Object;
checkcast org.xnio.Sequence
astore 6
start local 6 13: aload 0
aload 6
ifnull 14
aload 6
aload 6
invokevirtual org.xnio.Sequence.size:()I
anewarray java.lang.String
invokevirtual org.xnio.Sequence.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
goto 15
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel io.undertow.protocols.ssl.UndertowXnioSsl org.xnio.channels.AcceptingChannel org.xnio.OptionMap io.undertow.connector.ByteBufferPool int org.xnio.Sequence
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
14: aconst_null
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel io.undertow.protocols.ssl.UndertowXnioSsl org.xnio.channels.AcceptingChannel org.xnio.OptionMap io.undertow.connector.ByteBufferPool int org.xnio.Sequence
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel java.lang.String[]
15: putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.cipherSuites:[Ljava/lang/String;
16: aload 3
getstatic org.xnio.Options.SSL_ENABLED_PROTOCOLS:Lorg/xnio/Option;
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;)Ljava/lang/Object;
checkcast org.xnio.Sequence
astore 7
start local 7 17: aload 0
aload 7
ifnull 18
aload 7
aload 7
invokevirtual org.xnio.Sequence.size:()I
anewarray java.lang.String
invokevirtual org.xnio.Sequence.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
goto 19
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel io.undertow.protocols.ssl.UndertowXnioSsl org.xnio.channels.AcceptingChannel org.xnio.OptionMap io.undertow.connector.ByteBufferPool int org.xnio.Sequence org.xnio.Sequence
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
18: aconst_null
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel io.undertow.protocols.ssl.UndertowXnioSsl org.xnio.channels.AcceptingChannel org.xnio.OptionMap io.undertow.connector.ByteBufferPool int org.xnio.Sequence org.xnio.Sequence
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel java.lang.String[]
19: putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.protocols:[Ljava/lang/String;
20: aload 0
aload 2
invokeinterface org.xnio.channels.AcceptingChannel.getCloseSetter:()Lorg/xnio/ChannelListener$Setter;
aload 0
invokestatic org.xnio.ChannelListeners.getDelegatingSetter:(Lorg/xnio/ChannelListener$Setter;Ljava/nio/channels/Channel;)Lorg/xnio/ChannelListener$Setter;
putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.closeSetter:Lorg/xnio/ChannelListener$Setter;
21: aload 0
aload 2
invokeinterface org.xnio.channels.AcceptingChannel.getAcceptSetter:()Lorg/xnio/ChannelListener$Setter;
aload 0
invokestatic org.xnio.ChannelListeners.getDelegatingSetter:(Lorg/xnio/ChannelListener$Setter;Ljava/nio/channels/Channel;)Lorg/xnio/ChannelListener$Setter;
putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.acceptSetter:Lorg/xnio/ChannelListener$Setter;
22: aload 0
aload 3
getstatic io.undertow.UndertowOptions.SSL_USER_CIPHER_SUITES_ORDER:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.useCipherSuitesOrder:Z
23: 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 24 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
0 24 1 ssl Lio/undertow/protocols/ssl/UndertowXnioSsl;
0 24 2 tcpServer Lorg/xnio/channels/AcceptingChannel<+Lorg/xnio/StreamConnection;>;
0 24 3 optionMap Lorg/xnio/OptionMap;
0 24 4 applicationBufferPool Lio/undertow/connector/ByteBufferPool;
0 24 5 startTls Z
13 24 6 enabledCipherSuites Lorg/xnio/Sequence<Ljava/lang/String;>;
17 24 7 enabledProtocols Lorg/xnio/Sequence<Ljava/lang/String;>;
Signature: (Lio/undertow/protocols/ssl/UndertowXnioSsl;Lorg/xnio/channels/AcceptingChannel<+Lorg/xnio/StreamConnection;>;Lorg/xnio/OptionMap;Lio/undertow/connector/ByteBufferPool;Z)V
MethodParameters:
Name Flags
ssl final
tcpServer final
optionMap final
applicationBufferPool final
startTls final
public <T> T setOption(org.xnio.Option<T>, );
descriptor: (Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic org.xnio.Options.SSL_CLIENT_AUTH_MODE:Lorg/xnio/Option;
if_acmpne 2
1: aload 1
getstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.clientAuthModeUpdater:Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
aload 0
getstatic org.xnio.Options.SSL_CLIENT_AUTH_MODE:Lorg/xnio/Option;
aload 2
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.xnio.SslClientAuthMode
invokevirtual java.util.concurrent.atomic.AtomicReferenceFieldUpdater.getAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SSL_USE_CLIENT_MODE:Lorg/xnio/Option;
if_acmpne 9
3: getstatic org.xnio.Options.SSL_USE_CLIENT_MODE:Lorg/xnio/Option;
aload 2
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 3
start local 3 4: aload 3
ifnull 31
aload 1
getstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.useClientModeUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 5
iconst_1
goto 6
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object java.lang.Boolean
StackMap stack: org.xnio.Option java.util.concurrent.atomic.AtomicIntegerFieldUpdater io.undertow.protocols.ssl.UndertowAcceptingSslChannel
5: iconst_0
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object java.lang.Boolean
StackMap stack: org.xnio.Option java.util.concurrent.atomic.AtomicIntegerFieldUpdater io.undertow.protocols.ssl.UndertowAcceptingSslChannel int
6: invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndSet:(Ljava/lang/Object;I)I
ifeq 7
iconst_1
goto 8
StackMap locals:
StackMap stack: org.xnio.Option
7: iconst_0
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object java.lang.Boolean
StackMap stack: org.xnio.Option int
8: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 9: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SSL_ENABLE_SESSION_CREATION:Lorg/xnio/Option;
if_acmpne 16
10: getstatic org.xnio.Options.SSL_ENABLE_SESSION_CREATION:Lorg/xnio/Option;
aload 2
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 3
start local 3 11: aload 3
ifnull 31
aload 1
getstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.enableSessionCreationUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 12
iconst_1
goto 13
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object java.lang.Boolean
StackMap stack: org.xnio.Option java.util.concurrent.atomic.AtomicIntegerFieldUpdater io.undertow.protocols.ssl.UndertowAcceptingSslChannel
12: iconst_0
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object java.lang.Boolean
StackMap stack: org.xnio.Option java.util.concurrent.atomic.AtomicIntegerFieldUpdater io.undertow.protocols.ssl.UndertowAcceptingSslChannel int
13: invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.getAndSet:(Ljava/lang/Object;I)I
ifeq 14
iconst_1
goto 15
StackMap locals:
StackMap stack: org.xnio.Option
14: iconst_0
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object java.lang.Boolean
StackMap stack: org.xnio.Option int
15: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 16: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SSL_ENABLED_CIPHER_SUITES:Lorg/xnio/Option;
if_acmpne 23
17: getstatic org.xnio.Options.SSL_ENABLED_CIPHER_SUITES:Lorg/xnio/Option;
aload 2
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.xnio.Sequence
astore 3
start local 3 18: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.cipherSuites:[Ljava/lang/String;
astore 4
start local 4 19: aload 0
aload 3
ifnonnull 20
aconst_null
goto 21
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object org.xnio.Sequence java.lang.String[]
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
20: aload 3
aload 3
invokevirtual org.xnio.Sequence.size:()I
anewarray java.lang.String
invokevirtual org.xnio.Sequence.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object org.xnio.Sequence java.lang.String[]
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel java.lang.String[]
21: putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.cipherSuites:[Ljava/lang/String;
22: aload 1
aload 4
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 23: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SSL_ENABLED_PROTOCOLS:Lorg/xnio/Option;
if_acmpne 30
24: getstatic org.xnio.Options.SSL_ENABLED_PROTOCOLS:Lorg/xnio/Option;
aload 2
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.xnio.Sequence
astore 3
start local 3 25: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.protocols:[Ljava/lang/String;
astore 4
start local 4 26: aload 0
aload 3
ifnonnull 27
aconst_null
goto 28
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object org.xnio.Sequence java.lang.String[]
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel
27: aload 3
aload 3
invokevirtual org.xnio.Sequence.size:()I
anewarray java.lang.String
invokevirtual org.xnio.Sequence.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option java.lang.Object org.xnio.Sequence java.lang.String[]
StackMap stack: io.undertow.protocols.ssl.UndertowAcceptingSslChannel java.lang.String[]
28: putfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.protocols:[Ljava/lang/String;
29: aload 1
aload 4
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 30: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
aload 1
aload 2
invokeinterface org.xnio.channels.AcceptingChannel.setOption:(Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
areturn
31: StackMap locals:
StackMap stack:
getstatic io.undertow.UndertowLogger.ROOT_LOGGER:Lio/undertow/UndertowLogger;
ldc "value"
invokeinterface io.undertow.UndertowLogger.nullParameter:(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
0 32 1 option Lorg/xnio/Option<TT;>;
0 32 2 value TT;
4 9 3 valueObject Ljava/lang/Boolean;
11 16 3 valueObject Ljava/lang/Boolean;
18 23 3 seq Lorg/xnio/Sequence<Ljava/lang/String;>;
19 23 4 old [Ljava/lang/String;
25 30 3 seq Lorg/xnio/Sequence<Ljava/lang/String;>;
26 30 4 old [Ljava/lang/String;
Exceptions:
throws java.lang.IllegalArgumentException, java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;TT;)TT;
MethodParameters:
Name Flags
option final
value final
public org.xnio.XnioWorker getWorker();
descriptor: ()Lorg/xnio/XnioWorker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.getWorker:()Lorg/xnio/XnioWorker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
public io.undertow.protocols.ssl.UndertowSslConnection accept();
descriptor: ()Lio/undertow/protocols/ssl/UndertowSslConnection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.accept:()Lorg/xnio/channels/ConnectedChannel;
checkcast org.xnio.StreamConnection
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: org.xnio.StreamConnection
StackMap stack:
aload 1
ldc Ljava/net/InetSocketAddress;
invokevirtual org.xnio.StreamConnection.getPeerAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
astore 2
start local 2 4: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.ssl:Lio/undertow/protocols/ssl/UndertowXnioSsl;
invokevirtual io.undertow.protocols.ssl.UndertowXnioSsl.getSslContext:()Ljavax/net/ssl/SSLContext;
aload 2
invokestatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.getHostNameNoResolve:(Ljava/net/InetSocketAddress;)Ljava/lang/String;
aload 2
invokevirtual java.net.InetSocketAddress.getPort:()I
invokevirtual javax.net.ssl.SSLContext.createSSLEngine:(Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;
astore 3
start local 3 5: getstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.USE_CIPHER_SUITES_METHOD:Ljava/lang/reflect/Method;
ifnull 12
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.useCipherSuitesOrder:Z
ifeq 12
6: aload 3
invokevirtual javax.net.ssl.SSLEngine.getSSLParameters:()Ljavax/net/ssl/SSLParameters;
astore 4
start local 4 7: getstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.USE_CIPHER_SUITES_METHOD:Ljava/lang/reflect/Method;
aload 4
iconst_1
anewarray java.lang.Object
dup
iconst_0
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 3
aload 4
invokevirtual javax.net.ssl.SSLEngine.setSSLParameters:(Ljavax/net/ssl/SSLParameters;)V
9: goto 12
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.StreamConnection java.net.InetSocketAddress javax.net.ssl.SSLEngine javax.net.ssl.SSLParameters
StackMap stack: java.lang.ReflectiveOperationException
10: astore 5
start local 5 11: getstatic io.undertow.UndertowLogger.ROOT_LOGGER:Lio/undertow/UndertowLogger;
aload 5
invokeinterface io.undertow.UndertowLogger.failedToUseServerOrder:(Ljava/lang/ReflectiveOperationException;)V
end local 5 end local 4 12: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.useClientMode:I
ifeq 13
iconst_1
goto 14
StackMap locals:
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 4
start local 4 15: aload 3
iload 4
invokevirtual javax.net.ssl.SSLEngine.setUseClientMode:(Z)V
16: iload 4
ifne 27
17: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.clientAuthMode:Lorg/xnio/SslClientAuthMode;
astore 5
start local 5 18: aload 5
ifnull 27
invokestatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.$SWITCH_TABLE$org$xnio$SslClientAuthMode:()[I
aload 5
invokevirtual org.xnio.SslClientAuthMode.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 19
2: 22
3: 24
default: 26
}
19: StackMap locals: int org.xnio.SslClientAuthMode
StackMap stack:
aload 3
iconst_0
invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
20: aload 3
iconst_0
invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
21: goto 27
22: StackMap locals:
StackMap stack:
aload 3
iconst_1
invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
23: goto 27
24: StackMap locals:
StackMap stack:
aload 3
iconst_1
invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
25: goto 27
26: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 5 27: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.enableSessionCreation:I
ifeq 28
iconst_1
goto 29
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngine
28: iconst_0
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.StreamConnection java.net.InetSocketAddress javax.net.ssl.SSLEngine int
StackMap stack: javax.net.ssl.SSLEngine int
29: invokevirtual javax.net.ssl.SSLEngine.setEnableSessionCreation:(Z)V
30: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.cipherSuites:[Ljava/lang/String;
astore 5
start local 5 31: aload 5
ifnull 41
32: new java.util.HashSet
dup
aload 3
invokevirtual javax.net.ssl.SSLEngine.getSupportedCipherSuites:()[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 6
start local 6 33: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 34: aload 5
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 39
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.StreamConnection java.net.InetSocketAddress javax.net.ssl.SSLEngine int java.lang.String[] java.util.Set java.util.List top int int java.lang.String[]
StackMap stack:
35: aload 11
iload 9
aaload
astore 8
start local 8 36: aload 6
aload 8
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 38
37: aload 7
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 38: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
39: iload 9
iload 10
if_icmplt 35
40: aload 3
aload 7
aload 7
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
invokevirtual javax.net.ssl.SSLEngine.setEnabledCipherSuites:([Ljava/lang/String;)V
end local 7 end local 6 41: StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.StreamConnection java.net.InetSocketAddress javax.net.ssl.SSLEngine int java.lang.String[]
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.protocols:[Ljava/lang/String;
astore 6
start local 6 42: aload 6
ifnull 52
43: new java.util.HashSet
dup
aload 3
invokevirtual javax.net.ssl.SSLEngine.getSupportedProtocols:()[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 7
start local 7 44: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 45: aload 6
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 50
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.StreamConnection java.net.InetSocketAddress javax.net.ssl.SSLEngine int java.lang.String[] java.lang.String[] java.util.Set java.util.List top int int java.lang.String[]
StackMap stack:
46: aload 12
iload 10
aaload
astore 9
start local 9 47: aload 7
aload 9
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 49
48: aload 8
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 9 49: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
50: iload 10
iload 11
if_icmplt 46
51: aload 3
aload 8
aload 8
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
invokevirtual javax.net.ssl.SSLEngine.setEnabledProtocols:([Ljava/lang/String;)V
end local 8 end local 7 52: StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.StreamConnection java.net.InetSocketAddress javax.net.ssl.SSLEngine int java.lang.String[] java.lang.String[]
StackMap stack:
aload 0
aload 1
aload 3
invokevirtual io.undertow.protocols.ssl.UndertowAcceptingSslChannel.accept:(Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;)Lio/undertow/protocols/ssl/UndertowSslConnection;
53: areturn
end local 6 end local 5 end local 4 end local 3 end local 2 54: StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.StreamConnection
StackMap stack: java.lang.Exception
astore 2
start local 2 55: aload 1
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
56: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
aload 2
invokeinterface io.undertow.UndertowLogger.failedToAcceptSSLRequest:(Ljava/lang/Exception;)V
57: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
1 58 1 tcpConnection Lorg/xnio/StreamConnection;
4 54 2 peerAddress Ljava/net/InetSocketAddress;
5 54 3 engine Ljavax/net/ssl/SSLEngine;
7 12 4 sslParameters Ljavax/net/ssl/SSLParameters;
11 12 5 e Ljava/lang/ReflectiveOperationException;
15 54 4 clientMode Z
18 27 5 clientAuthMode Lorg/xnio/SslClientAuthMode;
31 54 5 cipherSuites [Ljava/lang/String;
33 41 6 supported Ljava/util/Set<Ljava/lang/String;>;
34 41 7 finalList Ljava/util/List<Ljava/lang/String;>;
36 38 8 name Ljava/lang/String;
42 54 6 protocols [Ljava/lang/String;
44 52 7 supported Ljava/util/Set<Ljava/lang/String;>;
45 52 8 finalList Ljava/util/List<Ljava/lang/String;>;
47 49 9 name Ljava/lang/String;
55 58 2 e Ljava/lang/Exception;
Exception table:
from to target type
7 9 10 Class java.lang.IllegalAccessException
7 9 10 Class java.lang.reflect.InvocationTargetException
3 53 54 Class java.io.IOException
3 53 54 Class java.lang.RuntimeException
Exceptions:
throws java.io.IOException
protected io.undertow.protocols.ssl.UndertowSslConnection accept(org.xnio.StreamConnection, javax.net.ssl.SSLEngine);
descriptor: (Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;)Lio/undertow/protocols/ssl/UndertowSslConnection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new io.undertow.protocols.ssl.UndertowSslConnection
dup
aload 1
aload 2
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.applicationBufferPool:Lio/undertow/connector/ByteBufferPool;
invokespecial io.undertow.protocols.ssl.UndertowSslConnection.<init>:(Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;Lio/undertow/connector/ByteBufferPool;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
0 1 1 tcpServer Lorg/xnio/StreamConnection;
0 1 2 sslEngine Ljavax/net/ssl/SSLEngine;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
tcpServer
sslEngine
public org.xnio.ChannelListener$Setter<? extends org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>> getCloseSetter();
descriptor: ()Lorg/xnio/ChannelListener$Setter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.closeSetter:Lorg/xnio/ChannelListener$Setter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
Signature: ()Lorg/xnio/ChannelListener$Setter<+Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/ssl/SslConnection;>;>;
public boolean isOpen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.isOpen:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
Exceptions:
throws java.io.IOException
public boolean supportsOption(org.xnio.Option<?>);
descriptor: (Lorg/xnio/Option;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.SUPPORTED_OPTIONS:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 1
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
aload 1
invokeinterface org.xnio.channels.AcceptingChannel.supportsOption:(Lorg/xnio/Option;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
0 2 1 option Lorg/xnio/Option<*>;
Signature: (Lorg/xnio/Option<*>;)Z
MethodParameters:
Name Flags
option final
public <T> T getOption(org.xnio.Option<T>);
descriptor: (Lorg/xnio/Option;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.xnio.Options.SSL_CLIENT_AUTH_MODE:Lorg/xnio/Option;
if_acmpne 2
1: aload 1
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.clientAuthMode:Lorg/xnio/SslClientAuthMode;
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SSL_USE_CLIENT_MODE:Lorg/xnio/Option;
if_acmpne 6
3: aload 1
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.useClientMode:I
ifeq 4
iconst_1
goto 5
StackMap locals:
StackMap stack: org.xnio.Option
4: iconst_0
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option
StackMap stack: org.xnio.Option int
5: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SSL_ENABLE_SESSION_CREATION:Lorg/xnio/Option;
if_acmpne 10
7: aload 1
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.enableSessionCreation:I
ifeq 8
iconst_1
goto 9
StackMap locals:
StackMap stack: org.xnio.Option
8: iconst_0
StackMap locals: io.undertow.protocols.ssl.UndertowAcceptingSslChannel org.xnio.Option
StackMap stack: org.xnio.Option int
9: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
10: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SSL_ENABLED_CIPHER_SUITES:Lorg/xnio/Option;
if_acmpne 15
11: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.cipherSuites:[Ljava/lang/String;
astore 2
start local 2 12: aload 2
ifnonnull 13
aconst_null
goto 14
StackMap locals: java.lang.String[]
StackMap stack:
13: aload 1
aload 2
invokestatic org.xnio.Sequence.of:([Ljava/lang/Object;)Lorg/xnio/Sequence;
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
14: areturn
end local 2 15: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SSL_ENABLED_PROTOCOLS:Lorg/xnio/Option;
if_acmpne 20
16: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.protocols:[Ljava/lang/String;
astore 2
start local 2 17: aload 2
ifnonnull 18
aconst_null
goto 19
StackMap locals: java.lang.String[]
StackMap stack:
18: aload 1
aload 2
invokestatic org.xnio.Sequence.of:([Ljava/lang/Object;)Lorg/xnio/Sequence;
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
19: areturn
end local 2 20: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
aload 1
invokeinterface org.xnio.channels.AcceptingChannel.getOption:(Lorg/xnio/Option;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
0 21 1 option Lorg/xnio/Option<TT;>;
12 15 2 cipherSuites [Ljava/lang/String;
17 20 2 protocols [Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;)TT;
MethodParameters:
Name Flags
option final
public org.xnio.ChannelListener$Setter<? extends org.xnio.channels.AcceptingChannel<org.xnio.ssl.SslConnection>> getAcceptSetter();
descriptor: ()Lorg/xnio/ChannelListener$Setter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.acceptSetter:Lorg/xnio/ChannelListener$Setter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
Signature: ()Lorg/xnio/ChannelListener$Setter<+Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/ssl/SslConnection;>;>;
public java.net.SocketAddress getLocalAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.getLocalAddress:()Ljava/net/SocketAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
public <A extends java.net.SocketAddress> A getLocalAddress(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
aload 1
invokeinterface org.xnio.channels.AcceptingChannel.getLocalAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
0 1 1 type Ljava/lang/Class<TA;>;
Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;)TA;
MethodParameters:
Name Flags
type final
public void suspendAccepts();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.suspendAccepts:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
public void resumeAccepts();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.resumeAccepts:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
public boolean isAcceptResumed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.isAcceptResumed:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
public void wakeupAccepts();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.wakeupAccepts:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
public void awaitAcceptable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.awaitAcceptable:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
Exceptions:
throws java.io.IOException
public void awaitAcceptable(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
lload 1
aload 3
invokeinterface org.xnio.channels.AcceptingChannel.awaitAcceptable:(JLjava/util/concurrent/TimeUnit;)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
0 2 1 time J
0 2 3 timeUnit Ljava/util/concurrent/TimeUnit;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
time final
timeUnit final
public org.xnio.XnioExecutor getAcceptThread();
descriptor: ()Lorg/xnio/XnioExecutor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.getAcceptThread:()Lorg/xnio/XnioExecutor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public org.xnio.XnioIoThread getIoThread();
descriptor: ()Lorg/xnio/XnioIoThread;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.UndertowAcceptingSslChannel.tcpServer:Lorg/xnio/channels/AcceptingChannel;
invokeinterface org.xnio.channels.AcceptingChannel.getIoThread:()Lorg/xnio/XnioIoThread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/UndertowAcceptingSslChannel;
private static java.lang.String getHostNameNoResolve(java.net.InetSocketAddress);
descriptor: (Ljava/net/InetSocketAddress;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: getstatic org.xnio.Xnio.NIO2:Z
ifeq 2
1: aload 0
invokevirtual java.net.InetSocketAddress.getHostString:()Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.InetSocketAddress.isUnresolved:()Z
ifeq 5
3: aload 0
invokevirtual java.net.InetSocketAddress.getHostName:()Ljava/lang/String;
astore 1
start local 1 4: goto 12
end local 1 5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
astore 2
start local 2 6: aload 2
invokevirtual java.net.InetAddress.toString:()Ljava/lang/String;
astore 3
start local 3 7: aload 3
bipush 47
invokevirtual java.lang.String.indexOf:(I)I
istore 4
start local 4 8: iload 4
iconst_m1
if_icmpeq 9
iload 4
ifne 11
9: StackMap locals: java.net.InetSocketAddress top java.net.InetAddress java.lang.String int
StackMap stack:
aload 3
iload 4
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
start local 1 10: goto 12
end local 1 11: StackMap locals:
StackMap stack:
aload 3
iconst_0
iload 4
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 1
end local 4 end local 3 end local 2 start local 1 12: StackMap locals: java.net.InetSocketAddress java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 socketAddress Ljava/net/InetSocketAddress;
4 5 1 hostName Ljava/lang/String;
10 11 1 hostName Ljava/lang/String;
12 13 1 hostName Ljava/lang/String;
6 12 2 address Ljava/net/InetAddress;
7 12 3 string Ljava/lang/String;
8 12 4 slash I
MethodParameters:
Name Flags
socketAddress
public org.xnio.channels.CloseableChannel accept();
descriptor: ()Lorg/xnio/channels/CloseableChannel;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.undertow.protocols.ssl.UndertowAcceptingSslChannel.accept:()Lio/undertow/protocols/ssl/UndertowSslConnection;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
public org.xnio.channels.ConnectedChannel accept();
descriptor: ()Lorg/xnio/channels/ConnectedChannel;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.undertow.protocols.ssl.UndertowAcceptingSslChannel.accept:()Lio/undertow/protocols/ssl/UndertowSslConnection;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.io.IOException
static int[] $SWITCH_TABLE$org$xnio$SslClientAuthMode();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.$SWITCH_TABLE$org$xnio$SslClientAuthMode:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.xnio.SslClientAuthMode.values:()[Lorg/xnio/SslClientAuthMode;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.xnio.SslClientAuthMode.NOT_REQUESTED:Lorg/xnio/SslClientAuthMode;
invokevirtual org.xnio.SslClientAuthMode.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.xnio.SslClientAuthMode.REQUESTED:Lorg/xnio/SslClientAuthMode;
invokevirtual org.xnio.SslClientAuthMode.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.xnio.SslClientAuthMode.REQUIRED:Lorg/xnio/SslClientAuthMode;
invokevirtual org.xnio.SslClientAuthMode.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic io.undertow.protocols.ssl.UndertowAcceptingSslChannel.$SWITCH_TABLE$org$xnio$SslClientAuthMode:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
Signature: Ljava/lang/Object;Lorg/xnio/channels/AcceptingChannel<Lorg/xnio/ssl/SslConnection;>;
SourceFile: "UndertowAcceptingSslChannel.java"
InnerClasses:
public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener
public SetBuilder = org.xnio.Option$SetBuilder of org.xnio.Option