public final class org.xnio.ssl.JsseSslStreamConnection extends org.xnio.ssl.SslConnection
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.xnio.ssl.JsseSslStreamConnection
super_class: org.xnio.ssl.SslConnection
{
private final org.xnio.StreamConnection connection;
descriptor: Lorg/xnio/StreamConnection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.ssl.JsseSslConduitEngine sslConduitEngine;
descriptor: Lorg/xnio/ssl/JsseSslConduitEngine;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean tls;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final org.xnio.ChannelListener$SimpleSetter<org.xnio.ssl.SslConnection> handshakeSetter;
descriptor: Lorg/xnio/ChannelListener$SimpleSetter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/xnio/ChannelListener$SimpleSetter<Lorg/xnio/ssl/SslConnection;>;
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<*>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: invokestatic org.xnio.Option.setBuilder:()Lorg/xnio/Option$SetBuilder;
getstatic org.xnio.Options.SECURE:Lorg/xnio/Option;
getstatic org.xnio.Options.SSL_CLIENT_AUTH_MODE:Lorg/xnio/Option;
invokevirtual org.xnio.Option$SetBuilder.add:(Lorg/xnio/Option;Lorg/xnio/Option;)Lorg/xnio/Option$SetBuilder;
invokevirtual org.xnio.Option$SetBuilder.create:()Ljava/util/Set;
putstatic org.xnio.ssl.JsseSslStreamConnection.SUPPORTED_OPTIONS:Ljava/util/Set;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.xnio.StreamConnection, javax.net.ssl.SSLEngine, boolean);
descriptor: (Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
getstatic org.xnio.ssl.JsseXnioSsl.bufferPool:Lorg/xnio/Pool;
getstatic org.xnio.ssl.JsseXnioSsl.bufferPool:Lorg/xnio/Pool;
iload 3
invokespecial org.xnio.ssl.JsseSslStreamConnection.<init>:(Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;Lorg/xnio/Pool;Lorg/xnio/Pool;Z)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 Lorg/xnio/ssl/JsseSslStreamConnection;
0 2 1 connection Lorg/xnio/StreamConnection;
0 2 2 sslEngine Ljavax/net/ssl/SSLEngine;
0 2 3 startTls Z
MethodParameters:
Name Flags
connection
sslEngine
startTls final
void <init>(org.xnio.StreamConnection, javax.net.ssl.SSLEngine, org.xnio.Pool<java.nio.ByteBuffer>, org.xnio.Pool<java.nio.ByteBuffer>, );
descriptor: (Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;Lorg/xnio/Pool;Lorg/xnio/Pool;Z)V
flags: (0x0000)
Code:
stack=9, 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
aload 1
invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
invokespecial org.xnio.ssl.SslConnection.<init>:(Lorg/xnio/XnioIoThread;)V
1: aload 0
new org.xnio.ChannelListener$SimpleSetter
dup
invokespecial org.xnio.ChannelListener$SimpleSetter.<init>:()V
putfield org.xnio.ssl.JsseSslStreamConnection.handshakeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
2: aload 0
aload 1
putfield org.xnio.ssl.JsseSslStreamConnection.connection:Lorg/xnio/StreamConnection;
3: aload 1
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
astore 6
start local 6 4: aload 1
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
astore 7
start local 7 5: aload 0
new org.xnio.ssl.JsseSslConduitEngine
dup
aload 0
aload 6
aload 7
aload 2
aload 3
aload 4
invokespecial org.xnio.ssl.JsseSslConduitEngine.<init>:(Lorg/xnio/ssl/JsseSslStreamConnection;Lorg/xnio/conduits/StreamSinkConduit;Lorg/xnio/conduits/StreamSourceConduit;Ljavax/net/ssl/SSLEngine;Lorg/xnio/Pool;Lorg/xnio/Pool;)V
putfield org.xnio.ssl.JsseSslStreamConnection.sslConduitEngine:Lorg/xnio/ssl/JsseSslConduitEngine;
6: aload 0
iload 5
ifeq 7
iconst_0
goto 8
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.StreamConnection javax.net.ssl.SSLEngine org.xnio.Pool org.xnio.Pool int org.xnio.conduits.StreamSinkConduit org.xnio.conduits.StreamSourceConduit
StackMap stack: org.xnio.ssl.JsseSslStreamConnection
7: iconst_1
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.StreamConnection javax.net.ssl.SSLEngine org.xnio.Pool org.xnio.Pool int org.xnio.conduits.StreamSinkConduit org.xnio.conduits.StreamSourceConduit
StackMap stack: org.xnio.ssl.JsseSslStreamConnection int
8: putfield org.xnio.ssl.JsseSslStreamConnection.tls:Z
9: aload 0
new org.xnio.ssl.JsseSslStreamSinkConduit
dup
aload 6
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.sslConduitEngine:Lorg/xnio/ssl/JsseSslConduitEngine;
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.tls:Z
invokespecial org.xnio.ssl.JsseSslStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lorg/xnio/ssl/JsseSslConduitEngine;Z)V
invokevirtual org.xnio.ssl.JsseSslStreamConnection.setSinkConduit:(Lorg/xnio/conduits/StreamSinkConduit;)V
10: aload 0
new org.xnio.ssl.JsseSslStreamSourceConduit
dup
aload 7
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.sslConduitEngine:Lorg/xnio/ssl/JsseSslConduitEngine;
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.tls:Z
invokespecial org.xnio.ssl.JsseSslStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;Lorg/xnio/ssl/JsseSslConduitEngine;Z)V
invokevirtual org.xnio.ssl.JsseSslStreamConnection.setSourceConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
11: 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 12 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
0 12 1 connection Lorg/xnio/StreamConnection;
0 12 2 sslEngine Ljavax/net/ssl/SSLEngine;
0 12 3 socketBufferPool Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;
0 12 4 applicationBufferPool Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;
0 12 5 startTls Z
4 12 6 sinkConduit Lorg/xnio/conduits/StreamSinkConduit;
5 12 7 sourceConduit Lorg/xnio/conduits/StreamSourceConduit;
Signature: (Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;Lorg/xnio/Pool<Ljava/nio/ByteBuffer;>;Z)V
MethodParameters:
Name Flags
connection
sslEngine
socketBufferPool final
applicationBufferPool final
startTls final
public synchronized void startHandshake();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.tls:Z
ifne 4
1: aload 0
iconst_1
putfield org.xnio.ssl.JsseSslStreamConnection.tls:Z
2: aload 0
invokevirtual org.xnio.ssl.JsseSslStreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
checkcast org.xnio.ssl.JsseSslStreamSourceConduit
invokevirtual org.xnio.ssl.JsseSslStreamSourceConduit.enableTls:()V
3: aload 0
invokevirtual org.xnio.ssl.JsseSslStreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
checkcast org.xnio.ssl.JsseSslStreamSinkConduit
invokevirtual org.xnio.ssl.JsseSslStreamSinkConduit.enableTls:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.sslConduitEngine:Lorg/xnio/ssl/JsseSslConduitEngine;
invokevirtual org.xnio.ssl.JsseSslConduitEngine.beginHandshake:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
Exceptions:
throws java.io.IOException
public java.net.SocketAddress getPeerAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.connection:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getPeerAddress:()Ljava/net/SocketAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
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 org.xnio.ssl.JsseSslStreamConnection.connection:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getLocalAddress:()Ljava/net/SocketAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
protected void closeAction();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.tls:Z
ifeq 14
1: aload 0
invokevirtual org.xnio.ssl.JsseSslStreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.truncateWrites:()V
2: goto 9
StackMap locals:
StackMap stack: java.io.IOException
3: astore 1
start local 1 4: aload 0
invokevirtual org.xnio.ssl.JsseSslStreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
invokeinterface org.xnio.conduits.StreamSourceConduit.terminateReads:()V
5: goto 7
StackMap locals: org.xnio.ssl.JsseSslStreamConnection java.io.IOException
StackMap stack: java.io.IOException
6: pop
7: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.connection:Lorg/xnio/StreamConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
8: aload 1
athrow
end local 1 9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.xnio.ssl.JsseSslStreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
invokeinterface org.xnio.conduits.StreamSourceConduit.terminateReads:()V
10: goto 14
StackMap locals:
StackMap stack: java.io.IOException
11: astore 1
start local 1 12: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.connection:Lorg/xnio/StreamConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
13: aload 1
athrow
end local 1 14: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.connection:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.close:()V
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
4 9 1 e Ljava/io/IOException;
12 14 1 e Ljava/io/IOException;
Exception table:
from to target type
1 2 3 Class java.io.IOException
4 5 6 Class java.io.IOException
9 10 11 Class java.io.IOException
Exceptions:
throws java.io.IOException
protected void notifyWriteClosed();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
protected void notifyReadClosed();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
public <T> T setOption(org.xnio.Option<T>, );
descriptor: (Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, 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 21
1: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.sslConduitEngine:Lorg/xnio/ssl/JsseSslConduitEngine;
invokevirtual org.xnio.ssl.JsseSslConduitEngine.getEngine:()Ljavax/net/ssl/SSLEngine;
astore 3
start local 3 2: aload 1
aload 3
invokevirtual javax.net.ssl.SSLEngine.getNeedClientAuth:()Z
ifeq 3
getstatic org.xnio.SslClientAuthMode.REQUIRED:Lorg/xnio/SslClientAuthMode;
goto 5
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option java.lang.Object javax.net.ssl.SSLEngine
StackMap stack: org.xnio.Option
3: aload 3
invokevirtual javax.net.ssl.SSLEngine.getWantClientAuth:()Z
ifeq 4
getstatic org.xnio.SslClientAuthMode.REQUESTED:Lorg/xnio/SslClientAuthMode;
goto 5
StackMap locals:
StackMap stack: org.xnio.Option
4: getstatic org.xnio.SslClientAuthMode.NOT_REQUESTED:Lorg/xnio/SslClientAuthMode;
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option java.lang.Object javax.net.ssl.SSLEngine
StackMap stack: org.xnio.Option org.xnio.SslClientAuthMode
5: invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
6: aload 3
aload 2
getstatic org.xnio.SslClientAuthMode.REQUIRED:Lorg/xnio/SslClientAuthMode;
if_acmpne 7
iconst_1
goto 8
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option java.lang.Object javax.net.ssl.SSLEngine top java.lang.Object
StackMap stack: javax.net.ssl.SSLEngine
7: iconst_0
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option java.lang.Object javax.net.ssl.SSLEngine top java.lang.Object
StackMap stack: javax.net.ssl.SSLEngine int
8: invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
9: aload 3
aload 2
getstatic org.xnio.SslClientAuthMode.REQUESTED:Lorg/xnio/SslClientAuthMode;
if_acmpne 10
iconst_1
goto 11
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngine
10: iconst_0
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option java.lang.Object javax.net.ssl.SSLEngine top java.lang.Object
StackMap stack: javax.net.ssl.SSLEngine int
11: invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
12: aload 5
areturn
13: StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option java.lang.Object javax.net.ssl.SSLEngine
StackMap stack: java.lang.Throwable
astore 4
14: aload 3
aload 2
getstatic org.xnio.SslClientAuthMode.REQUIRED:Lorg/xnio/SslClientAuthMode;
if_acmpne 15
iconst_1
goto 16
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option java.lang.Object javax.net.ssl.SSLEngine java.lang.Throwable
StackMap stack: javax.net.ssl.SSLEngine
15: iconst_0
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option java.lang.Object javax.net.ssl.SSLEngine java.lang.Throwable
StackMap stack: javax.net.ssl.SSLEngine int
16: invokevirtual javax.net.ssl.SSLEngine.setNeedClientAuth:(Z)V
17: aload 3
aload 2
getstatic org.xnio.SslClientAuthMode.REQUESTED:Lorg/xnio/SslClientAuthMode;
if_acmpne 18
iconst_1
goto 19
StackMap locals:
StackMap stack: javax.net.ssl.SSLEngine
18: iconst_0
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option java.lang.Object javax.net.ssl.SSLEngine java.lang.Throwable
StackMap stack: javax.net.ssl.SSLEngine int
19: invokevirtual javax.net.ssl.SSLEngine.setWantClientAuth:(Z)V
20: aload 4
athrow
end local 3 21: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SECURE:Lorg/xnio/Option;
if_acmpne 23
22: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.connection:Lorg/xnio/StreamConnection;
aload 1
aload 2
invokevirtual org.xnio.StreamConnection.setOption:(Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
0 24 1 option Lorg/xnio/Option<TT;>;
0 24 2 value TT;
2 21 3 engine Ljavax/net/ssl/SSLEngine;
Exception table:
from to target type
2 6 13 any
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 <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 6
1: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.sslConduitEngine:Lorg/xnio/ssl/JsseSslConduitEngine;
invokevirtual org.xnio.ssl.JsseSslConduitEngine.getEngine:()Ljavax/net/ssl/SSLEngine;
astore 2
start local 2 2: aload 1
aload 2
invokevirtual javax.net.ssl.SSLEngine.getNeedClientAuth:()Z
ifeq 3
getstatic org.xnio.SslClientAuthMode.REQUIRED:Lorg/xnio/SslClientAuthMode;
goto 5
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option javax.net.ssl.SSLEngine
StackMap stack: org.xnio.Option
3: aload 2
invokevirtual javax.net.ssl.SSLEngine.getWantClientAuth:()Z
ifeq 4
getstatic org.xnio.SslClientAuthMode.REQUESTED:Lorg/xnio/SslClientAuthMode;
goto 5
StackMap locals:
StackMap stack: org.xnio.Option
4: getstatic org.xnio.SslClientAuthMode.NOT_REQUESTED:Lorg/xnio/SslClientAuthMode;
StackMap locals: org.xnio.ssl.JsseSslStreamConnection org.xnio.Option javax.net.ssl.SSLEngine
StackMap stack: org.xnio.Option org.xnio.SslClientAuthMode
5: invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 6: StackMap locals:
StackMap stack:
aload 1
getstatic org.xnio.Options.SECURE:Lorg/xnio/Option;
if_acmpne 7
aload 1
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.tls:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.xnio.Option.cast:(Ljava/lang/Object;)Ljava/lang/Object;
goto 8
StackMap locals:
StackMap stack:
7: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.connection:Lorg/xnio/StreamConnection;
aload 1
invokevirtual org.xnio.StreamConnection.getOption:(Lorg/xnio/Option;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
8: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
0 9 1 option Lorg/xnio/Option<TT;>;
2 6 2 engine Ljavax/net/ssl/SSLEngine;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;)TT;
MethodParameters:
Name Flags
option final
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 org.xnio.ssl.JsseSslStreamConnection.SUPPORTED_OPTIONS:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 1
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.connection:Lorg/xnio/StreamConnection;
aload 1
invokevirtual org.xnio.StreamConnection.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 Lorg/xnio/ssl/JsseSslStreamConnection;
0 2 1 option Lorg/xnio/Option<*>;
Signature: (Lorg/xnio/Option<*>;)Z
MethodParameters:
Name Flags
option final
public javax.net.ssl.SSLSession getSslSession();
descriptor: ()Ljavax/net/ssl/SSLSession;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.tls:Z
ifeq 1
aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.sslConduitEngine:Lorg/xnio/ssl/JsseSslConduitEngine;
invokevirtual org.xnio.ssl.JsseSslConduitEngine.getSession:()Ljavax/net/ssl/SSLSession;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: javax.net.ssl.SSLSession
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
public org.xnio.ChannelListener$Setter<? extends org.xnio.ssl.SslConnection> getHandshakeSetter();
descriptor: ()Lorg/xnio/ChannelListener$Setter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.handshakeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
Signature: ()Lorg/xnio/ChannelListener$Setter<+Lorg/xnio/ssl/SslConnection;>;
javax.net.ssl.SSLEngine getEngine();
descriptor: ()Ljavax/net/ssl/SSLEngine;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.sslConduitEngine:Lorg/xnio/ssl/JsseSslConduitEngine;
invokevirtual org.xnio.ssl.JsseSslConduitEngine.getEngine:()Ljavax/net/ssl/SSLEngine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
protected boolean readClosed();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.xnio.ssl.SslConnection.readClosed:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
protected boolean writeClosed();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.xnio.ssl.SslConnection.writeClosed:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
protected void handleHandshakeFinished();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.xnio.ssl.JsseSslStreamConnection.handshakeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
invokevirtual org.xnio.ChannelListener$SimpleSetter.get:()Lorg/xnio/ChannelListener;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: return
3: StackMap locals: org.xnio.ChannelListener
StackMap stack:
aload 0
aload 1
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
pop
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/xnio/ssl/JsseSslStreamConnection;
1 5 1 listener Lorg/xnio/ChannelListener<-Lorg/xnio/ssl/SslConnection;>;
}
SourceFile: "JsseSslStreamConnection.java"
InnerClasses:
public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener
public SimpleSetter = org.xnio.ChannelListener$SimpleSetter of org.xnio.ChannelListener
public SetBuilder = org.xnio.Option$SetBuilder of org.xnio.Option