public final class org.glassfish.grizzly.ssl.SSLConnectionContext
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.glassfish.grizzly.ssl.SSLConnectionContext
super_class: java.lang.Object
{
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final float BUFFER_SIZE_COEF;
descriptor: F
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
final org.glassfish.grizzly.memory.ByteBufferArray outputByteBufferArray;
descriptor: Lorg/glassfish/grizzly/memory/ByteBufferArray;
flags: (0x0010) ACC_FINAL
final org.glassfish.grizzly.memory.ByteBufferArray inputByteBufferArray;
descriptor: Lorg/glassfish/grizzly/memory/ByteBufferArray;
flags: (0x0010) ACC_FINAL
private org.glassfish.grizzly.Buffer lastOutputBuffer;
descriptor: Lorg/glassfish/grizzly/Buffer;
flags: (0x0002) ACC_PRIVATE
private final org.glassfish.grizzly.ssl.InputBufferWrapper inputBuffer;
descriptor: Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.glassfish.grizzly.ssl.InputBufferWrapper lastInputBuffer;
descriptor: Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
flags: (0x0002) ACC_PRIVATE
private boolean isServerMode;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private javax.net.ssl.SSLEngine sslEngine;
descriptor: Ljavax/net/ssl/SSLEngine;
flags: (0x0002) ACC_PRIVATE
private volatile int appBufferSize;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int netBufferSize;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final org.glassfish.grizzly.Connection connection;
descriptor: Lorg/glassfish/grizzly/Connection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.glassfish.grizzly.filterchain.FilterChain newConnectionFilterChain;
descriptor: Lorg/glassfish/grizzly/filterchain/FilterChain;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=0
0: ldc Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.glassfish.grizzly.ssl.SSLConnectionContext.$assertionsDisabled:Z
3: ldc Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
putstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
4: ldc Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
ldc "1.5"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 0
start local 0 5: ldc 1.5
fstore 1
start local 1 6: aload 0
invokestatic java.lang.Float.parseFloat:(Ljava/lang/String;)F
fstore 1
7: goto 9
StackMap locals: java.lang.String float
StackMap stack: java.lang.NumberFormatException
8: pop
9: StackMap locals:
StackMap stack:
fload 1
putstatic org.glassfish.grizzly.ssl.SSLConnectionContext.BUFFER_SIZE_COEF:F
end local 1 end local 0 10: return
LocalVariableTable:
Start End Slot Name Signature
5 10 0 coef Ljava/lang/String;
6 10 1 coeff F
Exception table:
from to target type
6 7 8 Class java.lang.NumberFormatException
public void <init>(org.glassfish.grizzly.Connection);
descriptor: (Lorg/glassfish/grizzly/Connection;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
invokestatic org.glassfish.grizzly.memory.ByteBufferArray.create:()Lorg/glassfish/grizzly/memory/ByteBufferArray;
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.outputByteBufferArray:Lorg/glassfish/grizzly/memory/ByteBufferArray;
2: aload 0
invokestatic org.glassfish.grizzly.memory.ByteBufferArray.create:()Lorg/glassfish/grizzly/memory/ByteBufferArray;
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.inputByteBufferArray:Lorg/glassfish/grizzly/memory/ByteBufferArray;
3: aload 0
new org.glassfish.grizzly.ssl.InputBufferWrapper
dup
invokespecial org.glassfish.grizzly.ssl.InputBufferWrapper.<init>:()V
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.inputBuffer:Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
4: aload 0
aload 1
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.connection:Lorg/glassfish/grizzly/Connection;
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 6 1 connection Lorg/glassfish/grizzly/Connection;
MethodParameters:
Name Flags
connection
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 org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
public org.glassfish.grizzly.Connection getConnection();
descriptor: ()Lorg/glassfish/grizzly/Connection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.connection:Lorg/glassfish/grizzly/Connection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
public void attach();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic org.glassfish.grizzly.ssl.SSLUtils.SSL_CTX_ATTR:Lorg/glassfish/grizzly/attributes/Attribute;
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.connection:Lorg/glassfish/grizzly/Connection;
aload 0
invokevirtual org.glassfish.grizzly.attributes.Attribute.set:(Lorg/glassfish/grizzly/attributes/AttributeStorage;Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
public void configure(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 org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
1: aload 0
aload 1
invokevirtual javax.net.ssl.SSLEngine.getUseClientMode:()Z
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack: org.glassfish.grizzly.ssl.SSLConnectionContext
2: iconst_1
StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext javax.net.ssl.SSLEngine
StackMap stack: org.glassfish.grizzly.ssl.SSLConnectionContext int
3: putfield org.glassfish.grizzly.ssl.SSLConnectionContext.isServerMode:Z
4: aload 0
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.updateBufferSizes:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 6 1 sslEngine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
sslEngine final
public boolean isServerMode();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.isServerMode:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
void updateBufferSizes();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
astore 1
start local 1 1: aload 0
aload 1
invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.appBufferSize:I
2: aload 0
aload 1
invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.netBufferSize:I
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
1 4 1 session Ljavax/net/ssl/SSLSession;
public int getAppBufferSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.appBufferSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
public int getNetBufferSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.netBufferSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
public org.glassfish.grizzly.filterchain.FilterChain getNewConnectionFilterChain();
descriptor: ()Lorg/glassfish/grizzly/filterchain/FilterChain;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.newConnectionFilterChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
public void setNewConnectionFilterChain(org.glassfish.grizzly.filterchain.FilterChain);
descriptor: (Lorg/glassfish/grizzly/filterchain/FilterChain;)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 org.glassfish.grizzly.ssl.SSLConnectionContext.newConnectionFilterChain:Lorg/glassfish/grizzly/filterchain/FilterChain;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 2 1 newConnectionFilterChain Lorg/glassfish/grizzly/filterchain/FilterChain;
MethodParameters:
Name Flags
newConnectionFilterChain
org.glassfish.grizzly.Buffer resetLastOutputBuffer();
descriptor: ()Lorg/glassfish/grizzly/Buffer;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.lastOutputBuffer:Lorg/glassfish/grizzly/Buffer;
astore 1
start local 1 1: aload 0
aconst_null
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.lastOutputBuffer:Lorg/glassfish/grizzly/Buffer;
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
1 3 1 tmp Lorg/glassfish/grizzly/Buffer;
void setLastOutputBuffer(org.glassfish.grizzly.Buffer);
descriptor: (Lorg/glassfish/grizzly/Buffer;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.lastOutputBuffer:Lorg/glassfish/grizzly/Buffer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 2 1 lastOutputBuffer Lorg/glassfish/grizzly/Buffer;
MethodParameters:
Name Flags
lastOutputBuffer final
org.glassfish.grizzly.ssl.InputBufferWrapper resetLastInputBuffer();
descriptor: ()Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.lastInputBuffer:Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
astore 1
start local 1 1: aload 0
aconst_null
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.lastInputBuffer:Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
1 3 1 tmp Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
org.glassfish.grizzly.ssl.InputBufferWrapper useInputBuffer();
descriptor: ()Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.inputBuffer:Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.lastInputBuffer:Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
1: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.lastInputBuffer:Lorg/glassfish/grizzly/ssl/InputBufferWrapper;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult unwrap(int, org.glassfish.grizzly.Buffer, org.glassfish.grizzly.Buffer, org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator);
descriptor: (ILorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
flags: (0x0000)
Code:
stack=8, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 3
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.appBufferSize:I
aload 4
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.ensureBufferSize:(Lorg/glassfish/grizzly/Buffer;ILorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/Buffer;
astore 3
1: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 3
2: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "unwrap engine: {0} input: {1} output: {2}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 3
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.glassfish.grizzly.Buffer.position:()I
istore 5
start local 5 4: aload 3
invokeinterface org.glassfish.grizzly.Buffer.position:()I
istore 6
start local 6 5: aload 2
aload 2
invokeinterface org.glassfish.grizzly.Buffer.position:()I
aload 2
invokeinterface org.glassfish.grizzly.Buffer.position:()I
iload 1
iadd
invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:(II)Ljava/nio/ByteBuffer;
astore 7
start local 7 6: aload 7
invokevirtual java.nio.ByteBuffer.position:()I
istore 8
start local 8 7: aload 3
invokeinterface org.glassfish.grizzly.Buffer.isComposite:()Z
ifne 10
8: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aload 7
aload 3
invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
invokestatic org.glassfish.grizzly.ssl.SSLUtils.sslEngineUnwrap:(Ljavax/net/ssl/SSLEngine;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 9
start local 9 9: goto 23
end local 9 10: StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator int int java.nio.ByteBuffer int
StackMap stack:
aload 3
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.outputByteBufferArray:Lorg/glassfish/grizzly/memory/ByteBufferArray;
invokeinterface org.glassfish.grizzly.Buffer.toByteBufferArray:(Lorg/glassfish/grizzly/memory/ByteBufferArray;)Lorg/glassfish/grizzly/memory/ByteBufferArray;
astore 10
start local 10 11: aload 10
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.getArray:()[Ljava/lang/Object;
checkcast java.nio.ByteBuffer[]
astore 11
start local 11 12: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aload 7
aload 11
iconst_0
aload 10
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.size:()I
invokestatic org.glassfish.grizzly.ssl.SSLUtils.sslEngineUnwrap:(Ljavax/net/ssl/SSLEngine;Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)Ljavax/net/ssl/SSLEngineResult;
astore 9
start local 9 13: goto 18
end local 9 StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator int int java.nio.ByteBuffer int top org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[]
StackMap stack: java.lang.Throwable
14: astore 12
15: aload 10
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.restore:()V
16: aload 10
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.reset:()V
17: aload 12
athrow
start local 9 18: StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator int int java.nio.ByteBuffer int javax.net.ssl.SSLEngineResult org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[]
StackMap stack:
aload 10
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.restore:()V
19: aload 10
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.reset:()V
end local 11 end local 10 20: goto 23
end local 9 StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext int org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator int int java.nio.ByteBuffer int
StackMap stack: javax.net.ssl.SSLException
21: astore 10
start local 10 22: new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 3
aload 10
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLException;)V
areturn
end local 10 start local 9 23: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aload 9
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
astore 10
start local 10 24: aload 10
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 25
iconst_1
goto 26
StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: istore 11
start local 11 27: aload 4
ifnull 31
iload 11
ifeq 31
28: aload 0
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.updateBufferSizes:()V
29: aload 0
aload 3
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.appBufferSize:I
aload 4
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.ensureBufferSize:(Lorg/glassfish/grizzly/Buffer;ILorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/Buffer;
astore 3
30: aload 0
iload 1
aload 2
aload 3
aconst_null
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.unwrap:(ILorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
areturn
31: StackMap locals: int
StackMap stack:
iload 11
ifne 32
aload 10
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 33
32: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 3
new javax.net.ssl.SSLException
dup
new java.lang.StringBuilder
dup
ldc "SSL unwrap error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLException;)V
areturn
33: StackMap locals:
StackMap stack:
aload 2
iload 5
aload 7
invokevirtual java.nio.ByteBuffer.position:()I
iadd
iload 8
isub
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
34: aload 3
iload 6
aload 9
invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
iadd
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
35: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 37
36: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "unwrap done engine: {0} result: {1} input: {2} output: {3}"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aastore
dup
iconst_1
aload 9
aastore
dup
iconst_2
aload 2
aastore
dup
iconst_3
aload 3
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
37: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 3
aload 9
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLEngineResult;)V
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 38 1 len I
0 38 2 input Lorg/glassfish/grizzly/Buffer;
0 38 3 output Lorg/glassfish/grizzly/Buffer;
0 38 4 allocator Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
4 38 5 inPos I
5 38 6 outPos I
6 38 7 inputByteBuffer Ljava/nio/ByteBuffer;
7 38 8 initPosition I
9 10 9 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
13 14 9 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
18 21 9 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
23 38 9 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
11 20 10 bba Lorg/glassfish/grizzly/memory/ByteBufferArray;
12 20 11 outputArray [Ljava/nio/ByteBuffer;
22 23 10 e Ljavax/net/ssl/SSLException;
24 38 10 status Ljavax/net/ssl/SSLEngineResult$Status;
27 38 11 isOverflow Z
Exception table:
from to target type
12 14 14 any
7 20 21 Class javax.net.ssl.SSLException
MethodParameters:
Name Flags
len
input final
output
allocator final
org.glassfish.grizzly.Buffer wrapAll(org.glassfish.grizzly.Buffer, org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator);
descriptor: (Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/Buffer;
flags: (0x0000)
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.connection:Lorg/glassfish/grizzly/Connection;
invokeinterface org.glassfish.grizzly.Connection.getMemoryManager:()Lorg/glassfish/grizzly/memory/MemoryManager;
astore 3
start local 3 1: aload 1
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.inputByteBufferArray:Lorg/glassfish/grizzly/memory/ByteBufferArray;
invokeinterface org.glassfish.grizzly.Buffer.toByteBufferArray:(Lorg/glassfish/grizzly/memory/ByteBufferArray;)Lorg/glassfish/grizzly/memory/ByteBufferArray;
astore 4
start local 4 2: aload 4
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.getArray:()[Ljava/lang/Object;
checkcast java.nio.ByteBuffer[]
astore 5
start local 5 3: aload 4
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.size:()I
istore 6
start local 6 4: aconst_null
astore 7
start local 7 5: aconst_null
astore 8
start local 8 6: aload 0
aload 1
aload 5
iload 6
aconst_null
aload 2
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.wrap:(Lorg/glassfish/grizzly/Buffer;[Ljava/nio/ByteBuffer;ILorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
astore 8
7: aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.isError:()Z
ifeq 9
8: aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getError:()Ljavax/net/ssl/SSLException;
athrow
9: StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator org.glassfish.grizzly.memory.MemoryManager org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[] int org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
StackMap stack:
aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getOutput:()Lorg/glassfish/grizzly/Buffer;
astore 7
10: aload 7
invokeinterface org.glassfish.grizzly.Buffer.trim:()V
11: aload 1
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifeq 19
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 5
iload 6
aconst_null
aload 2
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.wrap:(Lorg/glassfish/grizzly/Buffer;[Ljava/nio/ByteBuffer;ILorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
astore 8
13: aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.isError:()Z
ifeq 15
14: aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getError:()Ljavax/net/ssl/SSLException;
athrow
15: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getOutput:()Lorg/glassfish/grizzly/Buffer;
astore 9
start local 9 16: aload 9
invokeinterface org.glassfish.grizzly.Buffer.trim:()V
17: aload 3
aload 7
aload 9
invokestatic org.glassfish.grizzly.memory.Buffers.appendBuffers:(Lorg/glassfish/grizzly/memory/MemoryManager;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;)Lorg/glassfish/grizzly/Buffer;
astore 7
end local 9 18: aload 1
invokeinterface org.glassfish.grizzly.Buffer.hasRemaining:()Z
ifne 12
19: StackMap locals:
StackMap stack:
aload 7
astore 11
20: aload 4
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.restore:()V
21: aload 4
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.reset:()V
22: aload 8
ifnull 26
aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.isError:()Z
ifeq 26
23: aload 7
ifnull 25
24: aload 7
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
25: StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator org.glassfish.grizzly.memory.MemoryManager org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[] int org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult top top org.glassfish.grizzly.Buffer
StackMap stack:
aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getOutput:()Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
26: StackMap locals:
StackMap stack:
aload 11
areturn
27: StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator org.glassfish.grizzly.memory.MemoryManager org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[] int org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
StackMap stack: java.lang.Throwable
astore 10
28: aload 4
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.restore:()V
29: aload 4
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.reset:()V
30: aload 8
ifnull 34
aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.isError:()Z
ifeq 34
31: aload 7
ifnull 33
32: aload 7
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
33: StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator org.glassfish.grizzly.memory.MemoryManager org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[] int org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult top java.lang.Throwable
StackMap stack:
aload 8
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.getOutput:()Lorg/glassfish/grizzly/Buffer;
invokeinterface org.glassfish.grizzly.Buffer.dispose:()V
34: StackMap locals:
StackMap stack:
aload 10
athrow
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 35 1 input Lorg/glassfish/grizzly/Buffer;
0 35 2 allocator Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
1 35 3 memoryManager Lorg/glassfish/grizzly/memory/MemoryManager;
2 35 4 bba Lorg/glassfish/grizzly/memory/ByteBufferArray;
3 35 5 inputArray [Ljava/nio/ByteBuffer;
4 35 6 inputArraySize I
5 35 7 output Lorg/glassfish/grizzly/Buffer;
6 35 8 result Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
16 18 9 newOutput Lorg/glassfish/grizzly/Buffer;
Exception table:
from to target type
6 20 27 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
input final
allocator final
private org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult wrap(org.glassfish.grizzly.Buffer, java.nio.ByteBuffer[], int, org.glassfish.grizzly.Buffer, org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator);
descriptor: (Lorg/glassfish/grizzly/Buffer;[Ljava/nio/ByteBuffer;ILorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 4
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.netBufferSize:I
aload 5
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.ensureBufferSize:(Lorg/glassfish/grizzly/Buffer;ILorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/Buffer;
astore 4
1: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 3
2: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "wrap engine: {0} input: {1} output: {2}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 4
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.glassfish.grizzly.Buffer.position:()I
istore 6
start local 6 4: aload 4
invokeinterface org.glassfish.grizzly.Buffer.position:()I
istore 7
start local 7 5: aload 4
invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
astore 8
start local 8 6: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aload 2
iconst_0
iload 3
aload 8
invokestatic org.glassfish.grizzly.ssl.SSLUtils.sslEngineWrap:(Ljavax/net/ssl/SSLEngine;[Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 9
start local 9 7: goto 10
end local 9 StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.Buffer java.nio.ByteBuffer[] int org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator int int java.nio.ByteBuffer
StackMap stack: javax.net.ssl.SSLException
8: astore 10
start local 10 9: new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 4
aload 10
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLException;)V
areturn
end local 10 start local 9 10: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aload 9
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
astore 10
start local 10 11: aload 10
getstatic javax.net.ssl.SSLEngineResult$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 13
12: new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 4
new javax.net.ssl.SSLException
dup
ldc "SSLEngine is CLOSED"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLException;)V
areturn
13: StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
aload 10
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 14
iconst_1
goto 15
StackMap locals:
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 11
start local 11 16: aload 5
ifnull 20
iload 11
ifeq 20
17: aload 0
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.updateBufferSizes:()V
18: aload 0
aload 4
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.netBufferSize:I
aload 5
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.ensureBufferSize:(Lorg/glassfish/grizzly/Buffer;ILorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/Buffer;
astore 4
19: aload 0
aload 1
aload 2
iload 3
aload 4
aconst_null
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.wrap:(Lorg/glassfish/grizzly/Buffer;[Ljava/nio/ByteBuffer;ILorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
areturn
20: StackMap locals: int
StackMap stack:
iload 11
ifne 21
aload 10
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 22
21: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 4
new javax.net.ssl.SSLException
dup
new java.lang.StringBuilder
dup
ldc "SSL wrap error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLException;)V
areturn
22: StackMap locals:
StackMap stack:
aload 1
iload 6
aload 9
invokevirtual javax.net.ssl.SSLEngineResult.bytesConsumed:()I
iadd
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
23: aload 4
iload 7
aload 9
invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
iadd
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
24: aload 0
aload 4
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.lastOutputBuffer:Lorg/glassfish/grizzly/Buffer;
25: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 27
26: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "wrap done engine: {0} result: {1} input: {2} output: {3}"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aastore
dup
iconst_1
aload 9
aastore
dup
iconst_2
aload 1
aastore
dup
iconst_3
aload 4
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
27: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 4
aload 9
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLEngineResult;)V
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 28 1 input Lorg/glassfish/grizzly/Buffer;
0 28 2 inputArray [Ljava/nio/ByteBuffer;
0 28 3 inputArraySize I
0 28 4 output Lorg/glassfish/grizzly/Buffer;
0 28 5 allocator Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
4 28 6 inPos I
5 28 7 outPos I
6 28 8 outputByteBuffer Ljava/nio/ByteBuffer;
7 8 9 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
10 28 9 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
9 10 10 e Ljavax/net/ssl/SSLException;
11 28 10 status Ljavax/net/ssl/SSLEngineResult$Status;
16 28 11 isOverflow Z
Exception table:
from to target type
6 7 8 Class javax.net.ssl.SSLException
MethodParameters:
Name Flags
input final
inputArray final
inputArraySize final
output
allocator final
org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult wrap(org.glassfish.grizzly.Buffer, org.glassfish.grizzly.Buffer, org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator);
descriptor: (Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
flags: (0x0000)
Code:
stack=8, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.netBufferSize:I
aload 3
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.ensureBufferSize:(Lorg/glassfish/grizzly/Buffer;ILorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/Buffer;
astore 2
1: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 3
2: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "wrap engine: {0} input: {1} output: {2}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
aload 2
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.glassfish.grizzly.Buffer.position:()I
istore 4
start local 4 4: aload 2
invokeinterface org.glassfish.grizzly.Buffer.position:()I
istore 5
start local 5 5: aload 2
invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
astore 6
start local 6 6: aload 1
invokeinterface org.glassfish.grizzly.Buffer.isComposite:()Z
ifne 9
7: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aload 1
invokeinterface org.glassfish.grizzly.Buffer.toByteBuffer:()Ljava/nio/ByteBuffer;
aload 6
invokestatic org.glassfish.grizzly.ssl.SSLUtils.sslEngineWrap:(Ljavax/net/ssl/SSLEngine;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 7
start local 7 8: goto 22
end local 7 9: StackMap locals: int int java.nio.ByteBuffer
StackMap stack:
aload 1
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.inputByteBufferArray:Lorg/glassfish/grizzly/memory/ByteBufferArray;
invokeinterface org.glassfish.grizzly.Buffer.toByteBufferArray:(Lorg/glassfish/grizzly/memory/ByteBufferArray;)Lorg/glassfish/grizzly/memory/ByteBufferArray;
astore 8
start local 8 10: aload 8
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.getArray:()[Ljava/lang/Object;
checkcast java.nio.ByteBuffer[]
astore 9
start local 9 11: aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aload 9
iconst_0
aload 8
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.size:()I
aload 6
invokestatic org.glassfish.grizzly.ssl.SSLUtils.sslEngineWrap:(Ljavax/net/ssl/SSLEngine;[Ljava/nio/ByteBuffer;IILjava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 7
start local 7 12: goto 17
end local 7 StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator int int java.nio.ByteBuffer top org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[]
StackMap stack: java.lang.Throwable
13: astore 10
14: aload 8
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.restore:()V
15: aload 8
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.reset:()V
16: aload 10
athrow
start local 7 17: StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator int int java.nio.ByteBuffer javax.net.ssl.SSLEngineResult org.glassfish.grizzly.memory.ByteBufferArray java.nio.ByteBuffer[]
StackMap stack:
aload 8
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.restore:()V
18: aload 8
invokevirtual org.glassfish.grizzly.memory.ByteBufferArray.reset:()V
end local 9 end local 8 19: goto 22
end local 7 StackMap locals: org.glassfish.grizzly.ssl.SSLConnectionContext org.glassfish.grizzly.Buffer org.glassfish.grizzly.Buffer org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator int int java.nio.ByteBuffer
StackMap stack: javax.net.ssl.SSLException
20: astore 8
start local 8 21: new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 2
aload 8
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLException;)V
areturn
end local 8 start local 7 22: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aload 7
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
astore 8
start local 8 23: aload 8
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 24
iconst_1
goto 25
StackMap locals: javax.net.ssl.SSLEngineResult$Status
StackMap stack:
24: iconst_0
StackMap locals:
StackMap stack: int
25: istore 9
start local 9 26: aload 3
ifnull 30
iload 9
ifeq 30
27: aload 0
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.updateBufferSizes:()V
28: aload 0
aload 2
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.netBufferSize:I
aload 3
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.ensureBufferSize:(Lorg/glassfish/grizzly/Buffer;ILorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/Buffer;
astore 2
29: aload 0
aload 1
aload 2
aconst_null
invokevirtual org.glassfish.grizzly.ssl.SSLConnectionContext.wrap:(Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/Buffer;Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/ssl/SSLConnectionContext$SslResult;
areturn
30: StackMap locals: int
StackMap stack:
iload 9
ifne 31
aload 8
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpne 32
31: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 2
new javax.net.ssl.SSLException
dup
new java.lang.StringBuilder
dup
ldc "SSL wrap error: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLException;)V
areturn
32: StackMap locals:
StackMap stack:
aload 1
iload 4
aload 7
invokevirtual javax.net.ssl.SSLEngineResult.bytesConsumed:()I
iadd
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
33: aload 2
iload 5
aload 7
invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
iadd
invokeinterface org.glassfish.grizzly.Buffer.position:(I)Lorg/glassfish/grizzly/Buffer;
pop
34: aload 0
aload 2
putfield org.glassfish.grizzly.ssl.SSLConnectionContext.lastOutputBuffer:Lorg/glassfish/grizzly/Buffer;
35: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 37
36: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "wrap done engine: {0} result: {1} input: {2} output: {3}"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.glassfish.grizzly.ssl.SSLConnectionContext.sslEngine:Ljavax/net/ssl/SSLEngine;
aastore
dup
iconst_1
aload 7
aastore
dup
iconst_2
aload 1
aastore
dup
iconst_3
aload 2
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
37: StackMap locals:
StackMap stack:
new org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
dup
aload 2
aload 7
invokespecial org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult.<init>:(Lorg/glassfish/grizzly/Buffer;Ljavax/net/ssl/SSLEngineResult;)V
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 38 1 input Lorg/glassfish/grizzly/Buffer;
0 38 2 output Lorg/glassfish/grizzly/Buffer;
0 38 3 allocator Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
4 38 4 inPos I
5 38 5 outPos I
6 38 6 outputByteBuffer Ljava/nio/ByteBuffer;
8 9 7 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
12 13 7 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
17 20 7 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
22 38 7 sslEngineResult Ljavax/net/ssl/SSLEngineResult;
10 19 8 bba Lorg/glassfish/grizzly/memory/ByteBufferArray;
11 19 9 inputArray [Ljava/nio/ByteBuffer;
21 22 8 e Ljavax/net/ssl/SSLException;
23 38 8 status Ljavax/net/ssl/SSLEngineResult$Status;
26 38 9 isOverflow Z
Exception table:
from to target type
11 13 13 any
6 19 20 Class javax.net.ssl.SSLException
MethodParameters:
Name Flags
input final
output
allocator final
private org.glassfish.grizzly.Buffer ensureBufferSize(org.glassfish.grizzly.Buffer, int, org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator);
descriptor: (Lorg/glassfish/grizzly/Buffer;ILorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;)Lorg/glassfish/grizzly/Buffer;
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: iload 2
i2f
getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.BUFFER_SIZE_COEF:F
fmul
f2i
istore 4
start local 4 1: aload 1
ifnonnull 5
2: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.$assertionsDisabled:Z
ifne 3
aload 3
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: int
StackMap stack:
aload 3
aload 0
aconst_null
iload 4
invokeinterface org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator.grow:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/Buffer;I)Lorg/glassfish/grizzly/Buffer;
astore 1
4: goto 8
StackMap locals:
StackMap stack:
5: aload 1
invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
iload 4
if_icmpge 8
6: getstatic org.glassfish.grizzly.ssl.SSLConnectionContext.$assertionsDisabled:Z
ifne 7
aload 3
ifnonnull 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 3
aload 0
aload 1
aload 1
invokeinterface org.glassfish.grizzly.Buffer.capacity:()I
iload 4
iadd
aload 1
invokeinterface org.glassfish.grizzly.Buffer.remaining:()I
isub
invokeinterface org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator.grow:(Lorg/glassfish/grizzly/ssl/SSLConnectionContext;Lorg/glassfish/grizzly/Buffer;I)Lorg/glassfish/grizzly/Buffer;
astore 1
8: StackMap locals:
StackMap stack:
aload 1
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 Lorg/glassfish/grizzly/ssl/SSLConnectionContext;
0 9 1 output Lorg/glassfish/grizzly/Buffer;
0 9 2 size I
0 9 3 allocator Lorg/glassfish/grizzly/ssl/SSLConnectionContext$Allocator;
1 9 4 sz I
MethodParameters:
Name Flags
output
size final
allocator final
}
SourceFile: "SSLConnectionContext.java"
NestMembers:
org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult
InnerClasses:
public final Status = javax.net.ssl.SSLEngineResult$Status of javax.net.ssl.SSLEngineResult
abstract Allocator = org.glassfish.grizzly.ssl.SSLConnectionContext$Allocator of org.glassfish.grizzly.ssl.SSLConnectionContext
final SslResult = org.glassfish.grizzly.ssl.SSLConnectionContext$SslResult of org.glassfish.grizzly.ssl.SSLConnectionContext