public class io.undertow.protocols.ssl.SslConduit implements org.xnio.conduits.StreamSourceConduit, org.xnio.conduits.StreamSinkConduit
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.undertow.protocols.ssl.SslConduit
super_class: java.lang.Object
{
public static final int MAX_READ_LISTENER_INVOCATIONS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final int FLAG_READ_REQUIRES_WRITE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int FLAG_WRITE_REQUIRES_READ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int FLAG_READS_RESUMED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int FLAG_WRITES_RESUMED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int FLAG_DATA_TO_UNWRAP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int FLAG_READ_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private static final int FLAG_WRITE_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final int FLAG_ENGINE_INBOUND_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
private static final int FLAG_ENGINE_OUTBOUND_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 256
private static final int FLAG_DELEGATE_SINK_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 512
private static final int FLAG_DELEGATE_SOURCE_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1024
private static final int FLAG_IN_HANDSHAKE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2048
private static final int FLAG_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4096
private static final int FLAG_WRITE_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8192
private static final int FLAG_READ_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16384
public static final java.nio.ByteBuffer EMPTY_BUFFER;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static volatile io.undertow.connector.ByteBufferPool expandedBufferPool;
descriptor: Lio/undertow/connector/ByteBufferPool;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private final io.undertow.protocols.ssl.UndertowSslConnection connection;
descriptor: Lio/undertow/protocols/ssl/UndertowSslConnection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.StreamConnection delegate;
descriptor: Lorg/xnio/StreamConnection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private javax.net.ssl.SSLEngine engine;
descriptor: Ljavax/net/ssl/SSLEngine;
flags: (0x0002) ACC_PRIVATE
private final org.xnio.conduits.StreamSinkConduit sink;
descriptor: Lorg/xnio/conduits/StreamSinkConduit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.conduits.StreamSourceConduit source;
descriptor: Lorg/xnio/conduits/StreamSourceConduit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.undertow.connector.ByteBufferPool bufferPool;
descriptor: Lio/undertow/connector/ByteBufferPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable handshakeCallback;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile int state;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int outstandingTasks;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile io.undertow.connector.PooledByteBuffer wrappedData;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile io.undertow.connector.PooledByteBuffer dataToUnwrap;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile io.undertow.connector.PooledByteBuffer unwrappedData;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler writeReadyHandler;
descriptor: Lio/undertow/protocols/ssl/SslConduit$SslWriteReadyHandler;
flags: (0x0002) ACC_PRIVATE
private io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler readReadyHandler;
descriptor: Lio/undertow/protocols/ssl/SslConduit$SslReadReadyHandler;
flags: (0x0002) ACC_PRIVATE
private int readListenerInvocationCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean invokingReadListenerHandshake;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.lang.Runnable runReadListenerCommand;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable runReadListenerAndResumeCommand;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "io.undertow.ssl.max-read-listener-invocations"
bipush 100
invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
putstatic io.undertow.protocols.ssl.SslConduit.MAX_READ_LISTENER_INVOCATIONS:I
1: iconst_0
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putstatic io.undertow.protocols.ssl.SslConduit.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
2: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(io.undertow.protocols.ssl.UndertowSslConnection, org.xnio.StreamConnection, javax.net.ssl.SSLEngine, io.undertow.connector.ByteBufferPool, java.lang.Runnable);
descriptor: (Lio/undertow/protocols/ssl/UndertowSslConnection;Lorg/xnio/StreamConnection;Ljavax/net/ssl/SSLEngine;Lio/undertow/connector/ByteBufferPool;Ljava/lang/Runnable;)V
flags: (0x0000)
Code:
stack=6, locals=6, 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
iconst_0
putfield io.undertow.protocols.ssl.SslConduit.state:I
2: aload 0
iconst_0
putfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
3: aload 0
iconst_0
putfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
4: aload 0
new io.undertow.protocols.ssl.SslConduit$1
dup
aload 0
invokespecial io.undertow.protocols.ssl.SslConduit$1.<init>:(Lio/undertow/protocols/ssl/SslConduit;)V
putfield io.undertow.protocols.ssl.SslConduit.runReadListenerCommand:Ljava/lang/Runnable;
5: aload 0
new io.undertow.protocols.ssl.SslConduit$2
dup
aload 0
invokespecial io.undertow.protocols.ssl.SslConduit$2.<init>:(Lio/undertow/protocols/ssl/SslConduit;)V
putfield io.undertow.protocols.ssl.SslConduit.runReadListenerAndResumeCommand:Ljava/lang/Runnable;
6: aload 0
aload 1
putfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
7: aload 0
aload 2
putfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
8: aload 0
aload 5
putfield io.undertow.protocols.ssl.SslConduit.handshakeCallback:Ljava/lang/Runnable;
9: aload 0
aload 2
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
putfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
10: aload 0
aload 2
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
putfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
11: aload 0
aload 3
putfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
12: aload 0
aload 4
putfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
13: aload 2
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
aload 0
new io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler
dup
aload 0
aconst_null
invokespecial io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.<init>:(Lio/undertow/protocols/ssl/SslConduit;Lorg/xnio/conduits/ReadReadyHandler;)V
dup_x1
putfield io.undertow.protocols.ssl.SslConduit.readReadyHandler:Lio/undertow/protocols/ssl/SslConduit$SslReadReadyHandler;
invokeinterface org.xnio.conduits.StreamSourceConduit.setReadReadyHandler:(Lorg/xnio/conduits/ReadReadyHandler;)V
14: aload 2
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
aload 0
new io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler
dup
aload 0
aconst_null
invokespecial io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler.<init>:(Lio/undertow/protocols/ssl/SslConduit;Lorg/xnio/conduits/WriteReadyHandler;)V
dup_x1
putfield io.undertow.protocols.ssl.SslConduit.writeReadyHandler:Lio/undertow/protocols/ssl/SslConduit$SslWriteReadyHandler;
invokeinterface org.xnio.conduits.StreamSinkConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
15: aload 3
invokevirtual javax.net.ssl.SSLEngine.getUseClientMode:()Z
ifeq 18
16: aload 0
sipush 2049
putfield io.undertow.protocols.ssl.SslConduit.state:I
17: goto 19
18: StackMap locals: io.undertow.protocols.ssl.SslConduit io.undertow.protocols.ssl.UndertowSslConnection org.xnio.StreamConnection javax.net.ssl.SSLEngine io.undertow.connector.ByteBufferPool java.lang.Runnable
StackMap stack:
aload 0
sipush 2050
putfield io.undertow.protocols.ssl.SslConduit.state:I
19: StackMap locals:
StackMap stack:
return
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 20 0 this Lio/undertow/protocols/ssl/SslConduit;
0 20 1 connection Lio/undertow/protocols/ssl/UndertowSslConnection;
0 20 2 delegate Lorg/xnio/StreamConnection;
0 20 3 engine Ljavax/net/ssl/SSLEngine;
0 20 4 bufferPool Lio/undertow/connector/ByteBufferPool;
0 20 5 handshakeCallback Ljava/lang/Runnable;
MethodParameters:
Name Flags
connection
delegate
engine
bufferPool
handshakeCallback
public void terminateReads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 32
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
1: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
Exceptions:
throws java.io.IOException
public boolean isReadShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 32
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
public void resumeReads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.resumeReads:(Z)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/protocols/ssl/SslConduit;
public void suspendReads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -5
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 10
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifne 3
2: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.suspendReads:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/protocols/ssl/SslConduit;
public void wakeupReads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual io.undertow.protocols.ssl.SslConduit.resumeReads:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/SslConduit;
private void resumeReads(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 4
2: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
3: goto 8
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 5
iload 1
ifne 5
aload 0
getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 7
5: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.resumeReads:()V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/protocols/ssl/SslConduit;
0 9 1 wakeup Z
MethodParameters:
Name Flags
wakeup
private void runReadListener(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.readListenerInvocationCount:I
dup_x1
iconst_1
iadd
putfield io.undertow.protocols.ssl.SslConduit.readListenerInvocationCount:I
getstatic io.undertow.protocols.ssl.SslConduit.MAX_READ_LISTENER_INVOCATIONS:I
if_icmpne 5
1: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
aload 0
invokeinterface io.undertow.UndertowLogger.sslReadLoopDetected:(Lio/undertow/protocols/ssl/SslConduit;)V
iconst_2
anewarray java.io.Closeable
dup
iconst_0
2: aload 0
getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
aastore
dup
iconst_1
aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
aastore
invokestatic org.xnio.IoUtils.safeClose:([Ljava/io/Closeable;)V
3: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.close:()V
4: return
5: StackMap locals:
StackMap stack:
iload 1
ifeq 8
6: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.runReadListenerAndResumeCommand:Ljava/lang/Runnable;
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
7: goto 14
8: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.runReadListenerCommand:Ljava/lang/Runnable;
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
9: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 2
start local 2 11: iconst_2
anewarray java.io.Closeable
dup
iconst_0
12: aload 0
getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
aastore
dup
iconst_1
aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
aastore
invokestatic org.xnio.IoUtils.safeClose:([Ljava/io/Closeable;)V
13: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
aload 2
ldc "Failed to queue read listener invocation"
iconst_0
anewarray java.lang.Object
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
end local 2 14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/undertow/protocols/ssl/SslConduit;
0 15 1 resumeInListener Z
11 14 2 e Ljava/lang/Throwable;
Exception table:
from to target type
0 4 10 Class java.lang.Throwable
5 9 10 Class java.lang.Throwable
MethodParameters:
Name Flags
resumeInListener final
private void runWriteListener();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
new io.undertow.protocols.ssl.SslConduit$3
dup
aload 0
invokespecial io.undertow.protocols.ssl.SslConduit$3.<init>:(Lio/undertow/protocols/ssl/SslConduit;)V
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
1: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 1
start local 1 3: iconst_2
anewarray java.io.Closeable
dup
iconst_0
4: aload 0
getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
aastore
dup
iconst_1
aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
aastore
invokestatic org.xnio.IoUtils.safeClose:([Ljava/io/Closeable;)V
5: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
aload 1
ldc "Failed to queue read listener invocation"
iconst_0
anewarray java.lang.Object
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/protocols/ssl/SslConduit;
3 6 1 e Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
public boolean isReadResumed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
public void awaitReadable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
ifle 8
2: aload 0
invokevirtual java.lang.Object.wait:()V
3: aload 1
monitorexit
4: return
5: StackMap locals: io.undertow.protocols.ssl.SslConduit io.undertow.protocols.ssl.SslConduit
StackMap stack: java.lang.InterruptedException
pop
6: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
7: new java.io.InterruptedIOException
dup
invokespecial java.io.InterruptedIOException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 1
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 1
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 14
13: return
14: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 16
15: return
16: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 19
17: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.awaitWritable:()V
18: return
19: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
invokeinterface org.xnio.conduits.StreamSourceConduit.awaitReadable:()V
20: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/undertow/protocols/ssl/SslConduit;
Exception table:
from to target type
2 3 5 Class java.lang.InterruptedException
1 4 10 any
5 9 10 any
10 11 10 any
Exceptions:
throws java.io.IOException
public void awaitReadable(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
dup
astore 4
monitorenter
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
ifle 8
2: aload 0
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual java.lang.Object.wait:(J)V
3: aload 4
monitorexit
4: return
5: StackMap locals: io.undertow.protocols.ssl.SslConduit long java.util.concurrent.TimeUnit io.undertow.protocols.ssl.SslConduit
StackMap stack: java.lang.InterruptedException
pop
6: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
7: new java.io.InterruptedIOException
dup
invokespecial java.io.InterruptedIOException.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 4
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 4
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 14
13: return
14: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 16
15: return
16: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 19
17: aload 0
lload 1
aload 3
invokevirtual io.undertow.protocols.ssl.SslConduit.awaitWritable:(JLjava/util/concurrent/TimeUnit;)V
18: return
19: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
lload 1
aload 3
invokeinterface org.xnio.conduits.StreamSourceConduit.awaitReadable:(JLjava/util/concurrent/TimeUnit;)V
20: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/undertow/protocols/ssl/SslConduit;
0 21 1 time J
0 21 3 timeUnit Ljava/util/concurrent/TimeUnit;
Exception table:
from to target type
2 3 5 Class java.lang.InterruptedException
1 4 10 any
5 9 10 any
10 11 10 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
time
timeUnit
public org.xnio.XnioIoThread getReadThread();
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.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
public void setReadReadyHandler(org.xnio.conduits.ReadReadyHandler);
descriptor: (Lorg/xnio/conduits/ReadReadyHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
aload 0
new io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler
dup
aload 0
aload 1
invokespecial io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler.<init>:(Lio/undertow/protocols/ssl/SslConduit;Lorg/xnio/conduits/ReadReadyHandler;)V
dup_x1
putfield io.undertow.protocols.ssl.SslConduit.readReadyHandler:Lio/undertow/protocols/ssl/SslConduit$SslReadReadyHandler;
invokeinterface org.xnio.conduits.StreamSourceConduit.setReadReadyHandler:(Lorg/xnio/conduits/ReadReadyHandler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/SslConduit;
0 2 1 handler Lorg/xnio/conduits/ReadReadyHandler;
MethodParameters:
Name Flags
handler
public long transferFrom(java.nio.channels.FileChannel, long, long);
descriptor: (Ljava/nio/channels/FileChannel;JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 64
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
lload 2
lload 4
new org.xnio.conduits.ConduitWritableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
invokevirtual java.nio.channels.FileChannel.transferTo:(JJLjava/nio/channels/WritableByteChannel;)J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
0 3 1 src Ljava/nio/channels/FileChannel;
0 3 2 position J
0 3 4 count J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
position
count
public long transferFrom(org.xnio.channels.StreamSourceChannel, long, java.nio.ByteBuffer);
descriptor: (Lorg/xnio/channels/StreamSourceChannel;JLjava/nio/ByteBuffer;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 64
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
lload 2
aload 4
new org.xnio.conduits.ConduitWritableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
0 3 1 source Lorg/xnio/channels/StreamSourceChannel;
0 3 2 count J
0 3 4 throughBuffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
count
throughBuffer
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 64
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 1
aastore
iconst_0
iconst_1
invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
l2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
0 3 1 src Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
public long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
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
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 64
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
0 3 1 srcs [Ljava/nio/ByteBuffer;
0 3 2 offs I
0 3 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offs
len
public int writeFinal(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
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.SslConduit.state:I
bipush 64
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;Ljava/nio/ByteBuffer;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
0 3 1 src Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
public long writeFinal(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
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
aload 1
iload 2
iload 3
invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;[Ljava/nio/ByteBuffer;II)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
0 1 1 srcs [Ljava/nio/ByteBuffer;
0 1 2 offset I
0 1 3 length I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offset
length
public void terminateWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 64
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/SslConduit;
Exceptions:
throws java.io.IOException
public boolean isWriteShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
public void resumeWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 8
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 4
2: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.resumeReads:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/protocols/ssl/SslConduit;
public void suspendWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -9
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_5
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifne 3
2: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/protocols/ssl/SslConduit;
public void wakeupWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 8
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
1: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.getWriteThread:()Lorg/xnio/XnioIoThread;
new io.undertow.protocols.ssl.SslConduit$4
dup
aload 0
invokespecial io.undertow.protocols.ssl.SslConduit$4.<init>:(Lio/undertow/protocols/ssl/SslConduit;)V
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
public boolean isWriteResumed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
public void awaitWritable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 64
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
ifle 15
3: aload 0
dup
astore 1
monitorenter
4: aload 0
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
ifle 11
5: aload 0
invokevirtual java.lang.Object.wait:()V
6: aload 1
monitorexit
7: return
8: StackMap locals: io.undertow.protocols.ssl.SslConduit io.undertow.protocols.ssl.SslConduit
StackMap stack: java.lang.InterruptedException
pop
9: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
10: new java.io.InterruptedIOException
dup
invokespecial java.io.InterruptedIOException.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
aload 1
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 1
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 18
16: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.awaitReadable:()V
17: return
18: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:()V
19: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/undertow/protocols/ssl/SslConduit;
Exception table:
from to target type
5 6 8 Class java.lang.InterruptedException
4 7 13 any
8 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
public void awaitWritable(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 64
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
ifle 15
3: aload 0
dup
astore 4
monitorenter
4: aload 0
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
ifle 11
5: aload 0
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual java.lang.Object.wait:(J)V
6: aload 4
monitorexit
7: return
8: StackMap locals: io.undertow.protocols.ssl.SslConduit long java.util.concurrent.TimeUnit io.undertow.protocols.ssl.SslConduit
StackMap stack: java.lang.InterruptedException
pop
9: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
10: new java.io.InterruptedIOException
dup
invokespecial java.io.InterruptedIOException.<init>:()V
athrow
11: StackMap locals:
StackMap stack:
aload 4
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 4
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 18
16: aload 0
lload 1
aload 3
invokevirtual io.undertow.protocols.ssl.SslConduit.awaitReadable:(JLjava/util/concurrent/TimeUnit;)V
17: return
18: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.awaitWritable:()V
19: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/undertow/protocols/ssl/SslConduit;
0 20 1 time J
0 20 3 timeUnit Ljava/util/concurrent/TimeUnit;
Exception table:
from to target type
5 6 8 Class java.lang.InterruptedException
4 7 13 any
8 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
time
timeUnit
public org.xnio.XnioIoThread getWriteThread();
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.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
public void setWriteReadyHandler(org.xnio.conduits.WriteReadyHandler);
descriptor: (Lorg/xnio/conduits/WriteReadyHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getConduit:()Lorg/xnio/conduits/StreamSinkConduit;
aload 0
new io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler
dup
aload 0
aload 1
invokespecial io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler.<init>:(Lio/undertow/protocols/ssl/SslConduit;Lorg/xnio/conduits/WriteReadyHandler;)V
dup_x1
putfield io.undertow.protocols.ssl.SslConduit.writeReadyHandler:Lio/undertow/protocols/ssl/SslConduit$SslWriteReadyHandler;
invokeinterface org.xnio.conduits.StreamSinkConduit.setWriteReadyHandler:(Lorg/xnio/conduits/WriteReadyHandler;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/SslConduit;
0 2 1 handler Lorg/xnio/conduits/WriteReadyHandler;
MethodParameters:
Name Flags
handler
public void truncateWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 1
3: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.close:()V
4: aload 1
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.close:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/protocols/ssl/SslConduit;
Exception table:
from to target type
0 2 2 any
Exceptions:
throws java.io.IOException
public boolean flush();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 512
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 6
3: aload 0
aconst_null
iconst_0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
pop2
4: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 64
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 25
7: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 256
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 13
8: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 256
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
9: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.closeOutbound:()V
10: aload 0
aconst_null
iconst_0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
pop2
11: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 17
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 17
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 512
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 17
14: aload 0
aconst_null
iconst_0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
pop2
15: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 17
16: iconst_0
ireturn
17: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 512
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 21
18: aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
19: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 512
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
20: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
21: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
istore 1
start local 1 22: iload 1
ifeq 24
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 16384
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 24
23: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.closed:()V
24: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 25: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lio/undertow/protocols/ssl/SslConduit;
22 25 1 result Z
Exceptions:
throws java.io.IOException
public long transferTo(long, long, java.nio.channels.FileChannel);
descriptor: (JJLjava/nio/channels/FileChannel;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 32
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: ldc -1
lreturn
2: StackMap locals:
StackMap stack:
aload 5
new org.xnio.conduits.ConduitReadableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitReadableByteChannel.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
lload 1
lload 3
invokevirtual java.nio.channels.FileChannel.transferFrom:(Ljava/nio/channels/ReadableByteChannel;JJ)J
lreturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
0 3 1 position J
0 3 3 count J
0 3 5 target Ljava/nio/channels/FileChannel;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position
count
target
public long transferTo(long, java.nio.ByteBuffer, org.xnio.channels.StreamSinkChannel);
descriptor: (JLjava/nio/ByteBuffer;Lorg/xnio/channels/StreamSinkChannel;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 32
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: ldc -1
lreturn
2: StackMap locals:
StackMap stack:
new org.xnio.conduits.ConduitReadableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitReadableByteChannel.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
lload 1
aload 3
aload 4
invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
lreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
0 3 1 count J
0 3 3 throughBuffer Ljava/nio/ByteBuffer;
0 3 4 target Lorg/xnio/channels/StreamSinkChannel;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
count
throughBuffer
target
public int read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 32
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 1
aastore
iconst_0
iconst_1
invokevirtual io.undertow.protocols.ssl.SslConduit.doUnwrap:([Ljava/nio/ByteBuffer;II)J
l2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
0 3 1 dst Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst
public long read(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
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
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 32
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: ldc -1
lreturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual io.undertow.protocols.ssl.SslConduit.doUnwrap:([Ljava/nio/ByteBuffer;II)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
0 3 1 dsts [Ljava/nio/ByteBuffer;
0 3 2 offs I
0 3 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dsts
offs
len
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.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getWorker:()Lorg/xnio/XnioWorker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
void notifyWriteClosed();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 8192
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.isWriteResumed:()Z
ifeq 3
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 4096
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 1
start local 1 5: aload 0
getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
invokevirtual io.undertow.protocols.ssl.UndertowSslConnection.writeClosed:()Z
pop
6: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.closeOutbound:()V
7: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 8448
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
8: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 16384
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 10
9: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.closed:()V
10: StackMap locals: int
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 12
11: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
12: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -3
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
13: iload 1
ifeq 15
14: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.runWriteListener:()V
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/undertow/protocols/ssl/SslConduit;
5 16 1 runListener Z
void notifyReadClosed();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 16384
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.isReadResumed:()Z
ifeq 3
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 4096
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 3
iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 1
start local 1 5: aload 0
getfield io.undertow.protocols.ssl.SslConduit.connection:Lio/undertow/protocols/ssl/UndertowSslConnection;
invokevirtual io.undertow.protocols.ssl.UndertowSslConnection.readClosed:()Z
pop
6: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.closeInbound:()V
7: goto 12
StackMap locals: io.undertow.protocols.ssl.SslConduit int
StackMap stack: javax.net.ssl.SSLException
8: astore 2
start local 2 9: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Exception closing read side of SSL channel"
aload 2
invokeinterface io.undertow.UndertowLogger.trace:(Ljava/lang/Object;Ljava/lang/Throwable;)V
10: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 8192
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 12
aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.isWriteResumed:()Z
ifeq 12
11: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.runWriteListener:()V
end local 2 12: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 16544
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
13: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 8192
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 15
14: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.closed:()V
15: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 17
16: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
17: StackMap locals:
StackMap stack:
iload 1
ifeq 19
18: aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lio/undertow/protocols/ssl/SslConduit;
5 20 1 runListener Z
9 12 2 e Ljavax/net/ssl/SSLException;
Exception table:
from to target type
6 7 8 Class javax.net.ssl.SSLException
public void startHandshake();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_1
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.beginHandshake:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
Exceptions:
throws javax.net.ssl.SSLException
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 io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
private void doHandshake();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
iconst_0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.doUnwrap:([Ljava/nio/ByteBuffer;II)J
pop2
1: aload 0
aconst_null
iconst_0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
pop2
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/protocols/ssl/SslConduit;
Exceptions:
throws java.io.IOException
private long doUnwrap(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 4096
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
ifle 4
3: lconst_0
lreturn
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 8
5: aload 0
aconst_null
iconst_0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
pop2
6: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_2
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 8
7: lconst_0
lreturn
8: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 9: aload 0
getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
astore 5
start local 5 10: aload 5
ifnull 19
11: aload 1
ifnull 19
12: aload 1
iload 2
iload 3
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.xnio.Buffers.copy:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)I
i2l
lstore 6
start local 6 13: aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 16
14: aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
15: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
16: StackMap locals: int io.undertow.connector.PooledByteBuffer long
StackMap stack:
lload 6
lconst_0
lcmp
ifle 18
17: aload 0
iconst_0
putfield io.undertow.protocols.ssl.SslConduit.readListenerInvocationCount:I
18: StackMap locals:
StackMap stack:
lload 6
lreturn
end local 6 19: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 71
20: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 22
21: aload 0
aload 0
getfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
22: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
istore 7
start local 7 23: goto 28
end local 7 StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 8
start local 8 25: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
26: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
27: aload 8
athrow
end local 8 start local 7 28: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
29: iload 7
iconst_m1
if_icmpne 50
30: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
31: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
32: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
33: iconst_0
istore 16
start local 16 34: iload 4
ifne 35
aload 5
ifnull 36
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
ifeq 36
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 36
35: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int top top top top top top top top int
StackMap stack:
iconst_1
istore 16
36: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnull 46
37: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 42
38: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
39: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
40: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
41: goto 46
StackMap locals:
StackMap stack:
42: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 45
43: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
44: goto 46
45: StackMap locals:
StackMap stack:
iconst_1
istore 16
46: StackMap locals:
StackMap stack:
iload 16
ifeq 49
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 47
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 10
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 49
StackMap locals:
StackMap stack:
47: aload 0
getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
ifne 49
48: aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
end local 16 49: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int
StackMap stack:
ldc -1
lreturn
50: StackMap locals:
StackMap stack:
iload 7
ifne 71
aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 71
51: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 54
52: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
53: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
54: StackMap locals:
StackMap stack:
iconst_0
istore 16
start local 16 55: iload 4
ifne 56
aload 5
ifnull 57
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
ifeq 57
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 57
56: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int top top top top top top top top int
StackMap stack:
iconst_1
istore 16
57: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnull 67
58: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 63
59: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
60: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
61: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
62: goto 67
StackMap locals:
StackMap stack:
63: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 66
64: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
65: goto 67
66: StackMap locals:
StackMap stack:
iconst_1
istore 16
67: StackMap locals:
StackMap stack:
iload 16
ifeq 70
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 68
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 10
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 70
StackMap locals:
StackMap stack:
68: aload 0
getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
ifne 70
69: aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
end local 16 70: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top int
StackMap stack:
lconst_0
lreturn
end local 7 71: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 6
start local 6 72: lconst_0
lstore 7
start local 7 73: aload 1
ifnull 75
74: aload 1
invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;)J
lstore 7
75: StackMap locals: int long
StackMap stack:
iconst_0
istore 10
start local 10 76: aload 1
ifnull 89
77: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
aload 1
iload 2
iload 3
invokevirtual javax.net.ssl.SSLEngine.unwrap:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
astore 9
start local 9 78: aload 9
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 85
79: aload 0
getfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
astore 5
80: iload 3
iconst_1
iadd
anewarray java.nio.ByteBuffer
astore 11
start local 11 81: aload 1
iload 2
aload 11
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
82: aload 11
iload 3
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
aastore
83: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
aload 11
invokevirtual javax.net.ssl.SSLEngine.unwrap:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 9
84: iconst_1
istore 10
end local 11 85: StackMap locals: javax.net.ssl.SSLEngineResult int
StackMap stack:
aload 9
invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
ifle 86
iconst_1
goto 87
StackMap locals:
StackMap stack:
86: iconst_0
StackMap locals:
StackMap stack: int
87: istore 4
88: goto 107
end local 9 89: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long top int
StackMap stack:
iconst_1
istore 10
90: aload 5
ifnonnull 93
91: aload 0
getfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
astore 5
92: goto 94
93: StackMap locals:
StackMap stack:
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
94: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual javax.net.ssl.SSLEngine.unwrap:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 9
start local 9 95: aload 9
invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
ifle 96
iconst_1
goto 97
StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
StackMap stack:
96: iconst_0
StackMap locals:
StackMap stack: int
97: istore 4
98: goto 107
end local 9 StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long top int
StackMap stack: java.lang.Throwable
99: astore 12
100: iload 10
ifeq 105
101: aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
102: aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 105
103: aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
104: aconst_null
astore 5
105: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long top int top java.lang.Throwable
StackMap stack:
aload 0
aload 5
putfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
106: aload 12
athrow
start local 9 107: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
StackMap stack:
iload 10
ifeq 112
108: aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
109: aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 112
110: aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
111: aconst_null
astore 5
112: StackMap locals:
StackMap stack:
aload 0
aload 5
putfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
113: aload 9
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 135
114: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnull 117
115: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
116: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
117: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
118: iconst_0
istore 16
start local 16 119: iload 4
ifne 120
aload 5
ifnull 121
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
ifeq 121
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 121
120: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int top top top top top int
StackMap stack:
iconst_1
istore 16
121: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnull 131
122: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 127
123: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
124: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
125: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
126: goto 131
StackMap locals:
StackMap stack:
127: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 130
128: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
129: goto 131
130: StackMap locals:
StackMap stack:
iconst_1
istore 16
131: StackMap locals:
StackMap stack:
iload 16
ifeq 134
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 132
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 10
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 134
StackMap locals:
StackMap stack:
132: aload 0
getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
ifne 134
133: aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
end local 16 134: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
StackMap stack:
ldc -1
lreturn
135: StackMap locals:
StackMap stack:
aload 0
aload 9
invokevirtual io.undertow.protocols.ssl.SslConduit.handleHandshakeResult:(Ljavax/net/ssl/SSLEngineResult;)Z
ifne 159
136: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 141
137: aload 9
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpeq 141
138: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 6
if_icmpeq 141
139: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
140: goto 142
141: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
142: StackMap locals:
StackMap stack:
iconst_0
istore 16
start local 16 143: iload 4
ifne 144
aload 5
ifnull 145
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
ifeq 145
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 145
144: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int top top top top top int
StackMap stack:
iconst_1
istore 16
145: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnull 155
146: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 151
147: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
148: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
149: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
150: goto 155
StackMap locals:
StackMap stack:
151: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 154
152: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
153: goto 155
154: StackMap locals:
StackMap stack:
iconst_1
istore 16
155: StackMap locals:
StackMap stack:
iload 16
ifeq 158
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 156
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 10
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 158
StackMap locals:
StackMap stack:
156: aload 0
getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
ifne 158
157: aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
end local 16 158: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
StackMap stack:
lconst_0
lreturn
159: StackMap locals:
StackMap stack:
aload 9
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 162
160: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
161: goto 170
StackMap locals:
StackMap stack:
162: aload 9
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 166
163: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
aload 0
invokeinterface io.undertow.UndertowLogger.sslBufferOverflow:(Lio/undertow/protocols/ssl/SslConduit;)V
164: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
165: goto 170
StackMap locals:
StackMap stack:
166: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 169
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 6
if_icmpeq 169
167: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
168: goto 170
169: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
170: StackMap locals:
StackMap stack:
aload 1
ifnonnull 188
171: iconst_0
istore 16
start local 16 172: iload 4
ifne 173
aload 5
ifnull 174
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
ifeq 174
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 174
173: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int top top top top top int
StackMap stack:
iconst_1
istore 16
174: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnull 184
175: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 180
176: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
177: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
178: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
179: goto 184
StackMap locals:
StackMap stack:
180: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 183
181: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
182: goto 184
183: StackMap locals:
StackMap stack:
iconst_1
istore 16
184: StackMap locals:
StackMap stack:
iload 16
ifeq 187
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 185
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 10
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 187
StackMap locals:
StackMap stack:
185: aload 0
getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
ifne 187
186: aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
end local 16 187: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int
StackMap stack:
lconst_0
lreturn
188: StackMap locals:
StackMap stack:
lload 7
aload 1
invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;)J
lsub
lstore 11
start local 11 189: lload 11
lconst_0
lcmp
ifle 191
190: aload 0
iconst_0
putfield io.undertow.protocols.ssl.SslConduit.readListenerInvocationCount:I
191: StackMap locals: long
StackMap stack:
lload 11
lstore 14
192: iconst_0
istore 16
start local 16 193: iload 4
ifne 194
aload 5
ifnull 195
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
ifeq 195
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 195
194: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer int long javax.net.ssl.SSLEngineResult int long top long int
StackMap stack:
iconst_1
istore 16
195: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnull 205
196: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 201
197: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
198: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
199: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
200: goto 205
StackMap locals:
StackMap stack:
201: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 204
202: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
203: goto 205
204: StackMap locals:
StackMap stack:
iconst_1
istore 16
205: StackMap locals:
StackMap stack:
iload 16
ifeq 208
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 206
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 10
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 208
StackMap locals:
StackMap stack:
206: aload 0
getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
ifne 208
207: aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
end local 16 208: StackMap locals:
StackMap stack:
lload 14
lreturn
end local 11 end local 10 end local 9 end local 7 end local 6 209: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer
StackMap stack: javax.net.ssl.SSLException
astore 6
start local 6 210: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.clearWriteRequiresRead:()V
211: aload 0
aconst_null
iconst_0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.doWrap:([Ljava/nio/ByteBuffer;II)J
pop2
212: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.flush:()Z
pop
213: goto 216
StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer javax.net.ssl.SSLException
StackMap stack: java.lang.Exception
214: astore 7
start local 7 215: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Failed to write out final SSL record"
aload 7
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 216: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.close:()V
217: goto 220
StackMap locals:
StackMap stack: java.lang.Throwable
218: astore 7
start local 7 219: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Exception closing SSLConduit after exception in doUnwrap"
aload 7
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 220: StackMap locals:
StackMap stack:
aload 6
athrow
end local 6 221: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer
StackMap stack: java.lang.Throwable
astore 6
start local 6 222: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.close:()V
223: goto 226
StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer java.lang.Throwable
StackMap stack: java.lang.Throwable
224: astore 7
start local 7 225: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Exception closing SSLConduit after exception in doUnwrap"
aload 7
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 7 226: StackMap locals:
StackMap stack:
aload 6
athrow
end local 6 227: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer
StackMap stack: java.lang.Throwable
astore 13
228: iconst_0
istore 16
start local 16 229: iload 4
ifne 230
aload 5
ifnull 231
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.isOpen:()Z
ifeq 231
aload 5
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 231
230: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top top top top top top top java.lang.Throwable top top int
StackMap stack:
iconst_1
istore 16
231: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnull 241
232: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 237
233: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
234: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
235: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -17
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
236: goto 241
StackMap locals:
StackMap stack:
237: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 16
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 240
238: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
239: goto 241
240: StackMap locals:
StackMap stack:
iconst_1
istore 16
241: StackMap locals:
StackMap stack:
iload 16
ifeq 244
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 242
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 10
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 244
StackMap locals:
StackMap stack:
242: aload 0
getfield io.undertow.protocols.ssl.SslConduit.invokingReadListenerHandshake:Z
ifne 244
243: aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.runReadListener:(Z)V
end local 16 244: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int int io.undertow.connector.PooledByteBuffer top top top top top top top java.lang.Throwable
StackMap stack:
aload 13
athrow
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 245 0 this Lio/undertow/protocols/ssl/SslConduit;
0 245 1 userBuffers [Ljava/nio/ByteBuffer;
0 245 2 off I
0 245 3 len I
9 245 4 bytesProduced Z
10 245 5 unwrappedData Lio/undertow/connector/PooledByteBuffer;
13 19 6 copied J
72 209 6 dataToUnwrapLength I
23 24 7 res I
28 71 7 res I
25 28 8 e Ljava/lang/Throwable;
73 209 7 original J
78 89 9 result Ljavax/net/ssl/SSLEngineResult;
95 99 9 result Ljavax/net/ssl/SSLEngineResult;
107 209 9 result Ljavax/net/ssl/SSLEngineResult;
76 209 10 unwrapBufferUsed Z
81 85 11 d [Ljava/nio/ByteBuffer;
189 209 11 res J
210 221 6 e Ljavax/net/ssl/SSLException;
215 216 7 e2 Ljava/lang/Exception;
219 220 7 ex Ljava/lang/Throwable;
222 227 6 e Ljava/lang/Throwable;
225 226 7 ex Ljava/lang/Throwable;
34 49 16 requiresListenerInvocation Z
55 70 16 requiresListenerInvocation Z
119 134 16 requiresListenerInvocation Z
143 158 16 requiresListenerInvocation Z
172 187 16 requiresListenerInvocation Z
193 208 16 requiresListenerInvocation Z
229 244 16 requiresListenerInvocation Z
Exception table:
from to target type
22 23 24 Class java.io.IOException
22 23 24 Class java.lang.RuntimeException
22 23 24 Class java.lang.Error
76 99 99 any
19 33 209 Class javax.net.ssl.SSLException
50 54 209 Class javax.net.ssl.SSLException
71 118 209 Class javax.net.ssl.SSLException
135 142 209 Class javax.net.ssl.SSLException
159 171 209 Class javax.net.ssl.SSLException
188 192 209 Class javax.net.ssl.SSLException
210 213 214 Class java.lang.Exception
210 217 218 Class java.lang.Throwable
19 33 221 Class java.lang.RuntimeException
50 54 221 Class java.lang.RuntimeException
71 118 221 Class java.lang.RuntimeException
135 142 221 Class java.lang.RuntimeException
159 171 221 Class java.lang.RuntimeException
188 192 221 Class java.lang.RuntimeException
19 33 221 Class java.io.IOException
50 54 221 Class java.io.IOException
71 118 221 Class java.io.IOException
135 142 221 Class java.io.IOException
159 171 221 Class java.io.IOException
188 192 221 Class java.io.IOException
19 33 221 Class java.lang.Error
50 54 221 Class java.lang.Error
71 118 221 Class java.lang.Error
135 142 221 Class java.lang.Error
159 171 221 Class java.lang.Error
188 192 221 Class java.lang.Error
222 223 224 Class java.lang.Throwable
19 33 227 any
50 54 227 any
71 118 227 any
135 142 227 any
159 171 227 any
188 192 227 any
209 227 227 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
userBuffers
off
len
private long doWrap(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 4096
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
ifle 4
3: lconst_0
lreturn
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 8
5: aload 0
aconst_null
iconst_0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.doUnwrap:([Ljava/nio/ByteBuffer;II)J
pop2
6: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_1
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 8
7: lconst_0
lreturn
8: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 14
9: aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 4
start local 4 10: iload 4
ifeq 11
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 12
11: StackMap locals: int
StackMap stack:
lconst_0
lreturn
12: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
end local 4 13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield io.undertow.protocols.ssl.SslConduit.bufferPool:Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
15: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual io.undertow.protocols.ssl.SslConduit.wrapAndFlip:([Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
astore 4
start local 4 16: aload 4
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 18
17: new java.io.IOException
dup
ldc "underflow"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aload 4
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 34
19: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 34
20: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
if_icmpge 33
21: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
22: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
istore 5
start local 5 23: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
24: ldc "Expanded buffer enabled due to overflow with empty buffer, buffer size is %s"
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
25: invokeinterface io.undertow.UndertowLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
26: getstatic io.undertow.protocols.ssl.SslConduit.expandedBufferPool:Lio/undertow/connector/ByteBufferPool;
ifnull 27
getstatic io.undertow.protocols.ssl.SslConduit.expandedBufferPool:Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.getBufferSize:()I
iload 5
if_icmpge 28
27: StackMap locals: int
StackMap stack:
new io.undertow.server.DefaultByteBufferPool
dup
iconst_0
iload 5
iconst_m1
bipush 12
invokespecial io.undertow.server.DefaultByteBufferPool.<init>:(ZIII)V
putstatic io.undertow.protocols.ssl.SslConduit.expandedBufferPool:Lio/undertow/connector/ByteBufferPool;
28: StackMap locals:
StackMap stack:
aload 0
getstatic io.undertow.protocols.ssl.SslConduit.expandedBufferPool:Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
29: aload 0
aload 1
iload 2
iload 3
invokevirtual io.undertow.protocols.ssl.SslConduit.wrapAndFlip:([Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
astore 4
30: aload 4
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 34
31: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 34
32: new java.io.IOException
dup
ldc "overflow"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 5 33: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "overflow"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 36
35: aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
pop
36: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 43
37: aload 4
invokevirtual javax.net.ssl.SSLEngineResult.bytesConsumed:()I
i2l
lstore 7
38: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 42
39: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 42
40: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
41: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
42: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult top top long
StackMap stack:
lload 7
lreturn
43: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult
StackMap stack:
aload 0
aload 4
invokevirtual io.undertow.protocols.ssl.SslConduit.handleHandshakeResult:(Ljavax/net/ssl/SSLEngineResult;)Z
ifne 49
44: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 48
45: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 48
46: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
47: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
48: StackMap locals:
StackMap stack:
lconst_0
lreturn
49: StackMap locals:
StackMap stack:
aload 4
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 52
aload 1
ifnull 52
50: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
51: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
52: StackMap locals:
StackMap stack:
aload 4
invokevirtual javax.net.ssl.SSLEngineResult.bytesConsumed:()I
i2l
lstore 7
53: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 57
54: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 57
55: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
56: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
57: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int javax.net.ssl.SSLEngineResult top top long
StackMap stack:
lload 7
lreturn
end local 4 58: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int
StackMap stack: java.lang.Throwable
astore 4
start local 4 59: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.close:()V
60: goto 63
StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int java.lang.Throwable
StackMap stack: java.lang.Throwable
61: astore 5
start local 5 62: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
ldc "Exception closing SSLConduit after exception in doWrap()"
aload 5
invokeinterface io.undertow.UndertowLogger.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 5 63: StackMap locals:
StackMap stack:
aload 4
athrow
end local 4 64: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int
StackMap stack: java.lang.Throwable
astore 6
65: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 69
66: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 69
67: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
68: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
69: StackMap locals: io.undertow.protocols.ssl.SslConduit java.nio.ByteBuffer[] int int top top java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 70 0 this Lio/undertow/protocols/ssl/SslConduit;
0 70 1 userBuffers [Ljava/nio/ByteBuffer;
0 70 2 off I
0 70 3 len I
10 13 4 res I
16 58 4 result Ljavax/net/ssl/SSLEngineResult;
23 33 5 bufferSize I
59 64 4 e Ljava/lang/Throwable;
62 63 5 ex Ljava/lang/Throwable;
Exception table:
from to target type
15 38 58 Class java.lang.RuntimeException
43 44 58 Class java.lang.RuntimeException
49 53 58 Class java.lang.RuntimeException
15 38 58 Class java.io.IOException
43 44 58 Class java.io.IOException
49 53 58 Class java.io.IOException
15 38 58 Class java.lang.Error
43 44 58 Class java.lang.Error
49 53 58 Class java.lang.Error
59 60 61 Class java.lang.Throwable
15 38 64 any
43 44 64 any
49 53 64 any
58 64 64 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
userBuffers
off
len
private javax.net.ssl.SSLEngineResult wrapAndFlip(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: goto 6
2: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aload 1
ifnonnull 5
3: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
getstatic io.undertow.protocols.ssl.SslConduit.EMPTY_BUFFER:Ljava/nio/ByteBuffer;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual javax.net.ssl.SSLEngine.wrap:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 4
4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
aload 1
iload 2
iload 3
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual javax.net.ssl.SSLEngine.wrap:([Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 4
6: StackMap locals:
StackMap stack:
aload 4
ifnull 2
aload 4
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 7
aload 4
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 2
7: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
8: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/protocols/ssl/SslConduit;
0 9 1 userBuffers [Ljava/nio/ByteBuffer;
0 9 2 off I
0 9 3 len I
1 9 4 result Ljavax/net/ssl/SSLEngineResult;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
userBuffers
off
len
private boolean handleHandshakeResult(javax.net.ssl.SSLEngineResult);
descriptor: (Ljavax/net/ssl/SSLEngineResult;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic io.undertow.protocols.ssl.SslConduit.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
aload 1
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iaload
tableswitch { // 2 - 5
2: 18
3: 1
4: 12
5: 6
default: 21
}
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 2048
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
2: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.clearReadRequiresWrite:()V
3: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.clearWriteRequiresRead:()V
4: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.runTasks:()V
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.clearReadRequiresWrite:()V
7: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 2050
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
8: aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.suspendWrites:()V
9: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 11
10: aload 0
getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
invokeinterface org.xnio.conduits.StreamSourceConduit.resumeReads:()V
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.clearWriteRequiresRead:()V
13: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 2049
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
14: aload 0
getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
invokeinterface org.xnio.conduits.StreamSourceConduit.suspendReads:()V
15: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 17
16: aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
17: StackMap locals:
StackMap stack:
iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 2048
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 21
19: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush -2049
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
20: aload 0
getfield io.undertow.protocols.ssl.SslConduit.handshakeCallback:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.clearReadRequiresWrite:()V
22: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.clearWriteRequiresRead:()V
23: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lio/undertow/protocols/ssl/SslConduit;
0 24 1 result Ljavax/net/ssl/SSLEngineResult;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
result
private void clearReadRequiresWrite();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 6
1: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -2
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
2: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 4
3: aload 0
iconst_0
invokevirtual io.undertow.protocols.ssl.SslConduit.resumeReads:(Z)V
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 8
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 6
5: aload 0
getfield io.undertow.protocols.ssl.SslConduit.sink:Lorg/xnio/conduits/StreamSinkConduit;
invokeinterface org.xnio.conduits.StreamSinkConduit.suspendWrites:()V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/protocols/ssl/SslConduit;
private void clearWriteRequiresRead();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 6
1: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush -3
iand
putfield io.undertow.protocols.ssl.SslConduit.state:I
2: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
bipush 8
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 4
3: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.wakeupWrites:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
iconst_4
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 6
5: aload 0
getfield io.undertow.protocols.ssl.SslConduit.source:Lorg/xnio/conduits/StreamSourceConduit;
invokeinterface org.xnio.conduits.StreamSourceConduit.suspendReads:()V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/protocols/ssl/SslConduit;
private void closed();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 4096
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 5728
ior
putfield io.undertow.protocols.ssl.SslConduit.state:I
3: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyReadClosed:()V
4: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.notifyWriteClosed:()V
5: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
ifnull 8
6: aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
7: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
8: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 11
9: aload 0
getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
10: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
11: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
ifnull 14
12: aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
13: aload 0
aconst_null
putfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
14: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 256
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 16
15: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.closeOutbound:()V
16: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
sipush 128
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 24
17: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.closeInbound:()V
18: goto 24
StackMap locals:
StackMap stack: javax.net.ssl.SSLException
19: astore 1
start local 1 20: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
aload 1
invokeinterface io.undertow.UndertowLogger.ioException:(Ljava/io/IOException;)V
end local 1 21: goto 24
22: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 23: getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
aload 1
invokeinterface io.undertow.UndertowLogger.handleUnexpectedFailure:(Ljava/lang/Throwable;)V
end local 1 24: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
25: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lio/undertow/protocols/ssl/SslConduit;
20 21 1 e Ljavax/net/ssl/SSLException;
23 24 1 t Ljava/lang/Throwable;
Exception table:
from to target type
17 18 19 Class javax.net.ssl.SSLException
17 18 22 Class java.lang.Throwable
private void runTasks();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.delegate:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.suspendReads:()V
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 3: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
astore 2
start local 2 4: goto 7
5: StackMap locals: java.util.List java.lang.Runnable
StackMap stack:
aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
astore 2
7: StackMap locals:
StackMap stack:
aload 2
ifnonnull 5
8: aload 0
dup
astore 3
monitorenter
9: aload 0
dup
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
aload 1
invokeinterface java.util.List.size:()I
iadd
putfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
10: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 13
StackMap locals: io.undertow.protocols.ssl.SslConduit java.util.List java.lang.Runnable io.undertow.protocols.ssl.SslConduit top java.util.Iterator
StackMap stack:
11: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Runnable
astore 4
start local 4 12: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.getWorker:()Lorg/xnio/XnioWorker;
new io.undertow.protocols.ssl.SslConduit$5
dup
aload 0
aload 4
invokespecial io.undertow.protocols.ssl.SslConduit$5.<init>:(Lio/undertow/protocols/ssl/SslConduit;Ljava/lang/Runnable;)V
invokevirtual org.xnio.XnioWorker.execute:(Ljava/lang/Runnable;)V
end local 4 13: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
14: aload 3
monitorexit
15: goto 18
StackMap locals: io.undertow.protocols.ssl.SslConduit java.util.List java.lang.Runnable io.undertow.protocols.ssl.SslConduit
StackMap stack: java.lang.Throwable
16: aload 3
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/undertow/protocols/ssl/SslConduit;
3 19 1 tasks Ljava/util/List<Ljava/lang/Runnable;>;
4 19 2 t Ljava/lang/Runnable;
12 13 4 task Ljava/lang/Runnable;
Exception table:
from to target type
9 15 16 any
16 17 16 any
public javax.net.ssl.SSLEngine getSSLEngine();
descriptor: ()Ljavax/net/ssl/SSLEngine;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/protocols/ssl/SslConduit;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.undertow.protocols.ssl.SslConduit.closed:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/SslConduit;
public void setSslEngine(javax.net.ssl.SSLEngine);
descriptor: (Ljavax/net/ssl/SSLEngine;)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.protocols.ssl.SslConduit.engine:Ljavax/net/ssl/SSLEngine;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/protocols/ssl/SslConduit;
0 2 1 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
engine
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "SslConduit{state="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: aload 0
getfield io.undertow.protocols.ssl.SslConduit.state:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
2: ldc ", outstandingTasks="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.outstandingTasks:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
3: ldc ", wrappedData="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.wrappedData:Lio/undertow/connector/PooledByteBuffer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc ", dataToUnwrap="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.dataToUnwrap:Lio/undertow/connector/PooledByteBuffer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
5: ldc ", unwrappedData="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.protocols.ssl.SslConduit.unwrappedData:Lio/undertow/connector/PooledByteBuffer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
6: bipush 125
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/protocols/ssl/SslConduit;
static int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.undertow.protocols.ssl.SslConduit.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.net.ssl.SSLEngineResult$HandshakeStatus.values:()[Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.FINISHED:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_TASK:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_5
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_WRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic io.undertow.protocols.ssl.SslConduit.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:[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
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "SslConduit.java"
NestMembers:
io.undertow.protocols.ssl.SslConduit$1 io.undertow.protocols.ssl.SslConduit$2 io.undertow.protocols.ssl.SslConduit$3 io.undertow.protocols.ssl.SslConduit$4 io.undertow.protocols.ssl.SslConduit$5 io.undertow.protocols.ssl.SslConduit$5$1 io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler
InnerClasses:
io.undertow.protocols.ssl.SslConduit$1
io.undertow.protocols.ssl.SslConduit$2
io.undertow.protocols.ssl.SslConduit$3
io.undertow.protocols.ssl.SslConduit$4
io.undertow.protocols.ssl.SslConduit$5
private SslReadReadyHandler = io.undertow.protocols.ssl.SslConduit$SslReadReadyHandler of io.undertow.protocols.ssl.SslConduit
private SslWriteReadyHandler = io.undertow.protocols.ssl.SslConduit$SslWriteReadyHandler of io.undertow.protocols.ssl.SslConduit
public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult
public final Status = javax.net.ssl.SSLEngineResult$Status of javax.net.ssl.SSLEngineResult