class org.xnio.ssl.JsseXnioSsl$4 implements org.xnio.ChannelListener<org.xnio.StreamConnection>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.xnio.ssl.JsseXnioSsl$4
super_class: java.lang.Object
{
final org.xnio.ssl.JsseXnioSsl this$0;
descriptor: Lorg/xnio/ssl/JsseXnioSsl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final org.xnio.OptionMap val$optionMap;
descriptor: Lorg/xnio/OptionMap;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.net.InetSocketAddress val$destination;
descriptor: Ljava/net/InetSocketAddress;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.xnio.FutureResult val$futureResult;
descriptor: Lorg/xnio/FutureResult;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final org.xnio.ChannelListener val$openListener;
descriptor: Lorg/xnio/ChannelListener;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(org.xnio.ssl.JsseXnioSsl, org.xnio.OptionMap, java.net.InetSocketAddress, org.xnio.FutureResult, org.xnio.ChannelListener);
descriptor: (Lorg/xnio/ssl/JsseXnioSsl;Lorg/xnio/OptionMap;Ljava/net/InetSocketAddress;Lorg/xnio/FutureResult;Lorg/xnio/ChannelListener;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=6
start local 0 0: aload 0
aload 1
putfield org.xnio.ssl.JsseXnioSsl$4.this$0:Lorg/xnio/ssl/JsseXnioSsl;
aload 0
aload 2
putfield org.xnio.ssl.JsseXnioSsl$4.val$optionMap:Lorg/xnio/OptionMap;
aload 0
aload 3
putfield org.xnio.ssl.JsseXnioSsl$4.val$destination:Ljava/net/InetSocketAddress;
aload 0
aload 4
putfield org.xnio.ssl.JsseXnioSsl$4.val$futureResult:Lorg/xnio/FutureResult;
aload 0
aload 5
putfield org.xnio.ssl.JsseXnioSsl$4.val$openListener:Lorg/xnio/ChannelListener;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/ssl/JsseXnioSsl$4;
MethodParameters:
Name Flags
this$0 final
val$optionMap final
val$destination final
val$futureResult final
val$openListener final
public void handleEvent(org.xnio.StreamConnection);
descriptor: (Lorg/xnio/StreamConnection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.xnio.ssl.JsseXnioSsl$4.this$0:Lorg/xnio/ssl/JsseXnioSsl;
getfield org.xnio.ssl.JsseXnioSsl.sslContext:Ljavax/net/ssl/SSLContext;
aload 0
getfield org.xnio.ssl.JsseXnioSsl$4.val$optionMap:Lorg/xnio/OptionMap;
aload 0
getfield org.xnio.ssl.JsseXnioSsl$4.val$destination:Ljava/net/InetSocketAddress;
invokestatic org.xnio.ssl.JsseSslUtils.createSSLEngine:(Ljavax/net/ssl/SSLContext;Lorg/xnio/OptionMap;Ljava/net/InetSocketAddress;)Ljavax/net/ssl/SSLEngine;
astore 2
start local 2 1: aload 0
getfield org.xnio.ssl.JsseXnioSsl$4.val$optionMap:Lorg/xnio/OptionMap;
getstatic org.xnio.Options.SSL_STARTTLS:Lorg/xnio/Option;
iconst_0
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;Z)Z
istore 3
start local 3 2: getstatic org.xnio.ssl.JsseXnioSsl.NEW_IMPL:Z
ifeq 3
new org.xnio.ssl.JsseSslConnection
dup
aload 1
aload 2
getstatic org.xnio.ssl.JsseXnioSsl.bufferPool:Lorg/xnio/Pool;
getstatic org.xnio.ssl.JsseXnioSsl.bufferPool:Lorg/xnio/Pool;
invokespecial org.xnio.ssl.JsseSslConnection.<init>:(Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;Lorg/xnio/Pool;Lorg/xnio/Pool;)V
goto 4
StackMap locals: javax.net.ssl.SSLEngine int
StackMap stack:
3: new org.xnio.ssl.JsseSslStreamConnection
dup
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
StackMap locals:
StackMap stack: org.xnio.ssl.SslConnection
4: astore 4
start local 4 5: goto 9
end local 4 StackMap locals:
StackMap stack: java.lang.RuntimeException
6: astore 5
start local 5 7: aload 0
getfield org.xnio.ssl.JsseXnioSsl$4.val$futureResult:Lorg/xnio/FutureResult;
invokevirtual org.xnio.FutureResult.setCancelled:()Z
pop
8: aload 5
athrow
end local 5 start local 4 9: StackMap locals: org.xnio.ssl.SslConnection
StackMap stack:
getstatic org.xnio.ssl.JsseXnioSsl.NEW_IMPL:Z
ifeq 15
iload 3
ifne 15
10: aload 4
invokevirtual org.xnio.ssl.SslConnection.startHandshake:()V
11: goto 15
StackMap locals:
StackMap stack: java.io.IOException
12: astore 5
start local 5 13: aload 0
getfield org.xnio.ssl.JsseXnioSsl$4.val$futureResult:Lorg/xnio/FutureResult;
aload 5
invokevirtual org.xnio.FutureResult.setException:(Ljava/io/IOException;)Z
ifeq 15
14: aload 1
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
end local 5 15: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.ssl.JsseXnioSsl$4.val$futureResult:Lorg/xnio/FutureResult;
aload 4
invokevirtual org.xnio.FutureResult.setResult:(Ljava/lang/Object;)Z
ifne 18
16: aload 1
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
17: goto 19
18: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield org.xnio.ssl.JsseXnioSsl$4.val$openListener:Lorg/xnio/ChannelListener;
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
pop
19: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/xnio/ssl/JsseXnioSsl$4;
0 20 1 connection Lorg/xnio/StreamConnection;
1 20 2 sslEngine Ljavax/net/ssl/SSLEngine;
2 20 3 startTls Z
5 6 4 wrappedConnection Lorg/xnio/ssl/SslConnection;
9 20 4 wrappedConnection Lorg/xnio/ssl/SslConnection;
7 9 5 e Ljava/lang/RuntimeException;
13 15 5 e Ljava/io/IOException;
Exception table:
from to target type
2 5 6 Class java.lang.RuntimeException
10 11 12 Class java.io.IOException
MethodParameters:
Name Flags
connection final
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 org.xnio.ssl.JsseXnioSsl$4.handleEvent:(Lorg/xnio/StreamConnection;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lorg/xnio/ChannelListener<Lorg/xnio/StreamConnection;>;
SourceFile: "JsseXnioSsl.java"
EnclosingMethod: org.xnio.ssl.JsseXnioSsl.openSslConnection:(Lorg/xnio/XnioIoThread;Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;Lorg/xnio/ChannelListener;Lorg/xnio/ChannelListener;Lorg/xnio/OptionMap;)Lorg/xnio/IoFuture;
NestHost: org.xnio.ssl.JsseXnioSsl
InnerClasses:
org.xnio.ssl.JsseXnioSsl$4