public class io.netty.handler.ssl.SslHandler extends io.netty.handler.codec.ByteToMessageDecoder implements io.netty.channel.ChannelOutboundHandler
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.netty.handler.ssl.SslHandler
super_class: io.netty.handler.codec.ByteToMessageDecoder
{
private static final io.netty.util.internal.logging.InternalLogger logger;
descriptor: Lio/netty/util/internal/logging/InternalLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern IGNORABLE_CLASS_IN_STACK;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.regex.Pattern IGNORABLE_ERROR_MESSAGE;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.net.ssl.SSLException SSLENGINE_CLOSED;
descriptor: Ljavax/net/ssl/SSLException;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final javax.net.ssl.SSLException HANDSHAKE_TIMED_OUT;
descriptor: Ljavax/net/ssl/SSLException;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.nio.channels.ClosedChannelException CHANNEL_CLOSED;
descriptor: Ljava/nio/channels/ClosedChannelException;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int MAX_PLAINTEXT_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16384
private volatile io.netty.channel.ChannelHandlerContext ctx;
descriptor: Lio/netty/channel/ChannelHandlerContext;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final javax.net.ssl.SSLEngine engine;
descriptor: Ljavax/net/ssl/SSLEngine;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.ssl.SslHandler$SslEngineType engineType;
descriptor: Lio/netty/handler/ssl/SslHandler$SslEngineType;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.Executor delegatedTaskExecutor;
descriptor: Ljava/util/concurrent/Executor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean jdkCompatibilityMode;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer[] singleBuffer;
descriptor: [Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean startTls;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean sentFirstMessage;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean flushedBeforeHandshake;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean readDuringHandshake;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean handshakeStarted;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue pendingUnencryptedWrites;
descriptor: Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
flags: (0x0002) ACC_PRIVATE
private io.netty.util.concurrent.Promise<io.netty.channel.Channel> handshakePromise;
descriptor: Lio/netty/util/concurrent/Promise;
flags: (0x0002) ACC_PRIVATE
Signature: Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
private final io.netty.handler.ssl.SslHandler$LazyChannelPromise sslClosePromise;
descriptor: Lio/netty/handler/ssl/SslHandler$LazyChannelPromise;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean needsFlush;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean outboundClosed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean closeNotify;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int packetLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean firedChannelRead;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private volatile long handshakeTimeoutMillis;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long closeNotifyFlushTimeoutMillis;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile long closeNotifyReadTimeoutMillis;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
volatile int wrapDataSize;
descriptor: I
flags: (0x0040) ACC_VOLATILE
private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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=3, locals=0, args_size=0
0: ldc Lio/netty/handler/ssl/SslHandler;
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 io.netty.handler.ssl.SslHandler.$assertionsDisabled:Z
3: ldc Lio/netty/handler/ssl/SslHandler;
invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
4: putstatic io.netty.handler.ssl.SslHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
5: ldc "^.*(?:Socket|Datagram|Sctp|Udt)Channel.*$"
6: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic io.netty.handler.ssl.SslHandler.IGNORABLE_CLASS_IN_STACK:Ljava/util/regex/Pattern;
7: ldc "^.*(?:connection.*(?:reset|closed|abort|broken)|broken.*pipe).*$"
iconst_2
8: invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
putstatic io.netty.handler.ssl.SslHandler.IGNORABLE_ERROR_MESSAGE:Ljava/util/regex/Pattern;
9: new javax.net.ssl.SSLException
dup
ldc "SSLEngine closed already"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
ldc Lio/netty/handler/ssl/SslHandler;
ldc "wrap(...)"
10: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast javax.net.ssl.SSLException
putstatic io.netty.handler.ssl.SslHandler.SSLENGINE_CLOSED:Ljavax/net/ssl/SSLException;
11: new javax.net.ssl.SSLException
dup
ldc "handshake timed out"
invokespecial javax.net.ssl.SSLException.<init>:(Ljava/lang/String;)V
ldc Lio/netty/handler/ssl/SslHandler;
ldc "handshake(...)"
12: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast javax.net.ssl.SSLException
putstatic io.netty.handler.ssl.SslHandler.HANDSHAKE_TIMED_OUT:Ljavax/net/ssl/SSLException;
13: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
ldc Lio/netty/handler/ssl/SslHandler;
ldc "channelInactive(...)"
14: invokestatic io.netty.util.internal.ThrowableUtil.unknownStackTrace:(Ljava/lang/Throwable;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Throwable;
checkcast java.nio.channels.ClosedChannelException
putstatic io.netty.handler.ssl.SslHandler.CHANNEL_CLOSED:Ljava/nio/channels/ClosedChannelException;
15: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.net.ssl.SSLEngine);
descriptor: (Ljavax/net/ssl/SSLEngine;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial io.netty.handler.ssl.SslHandler.<init>:(Ljavax/net/ssl/SSLEngine;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 engine Ljavax/net/ssl/SSLEngine;
MethodParameters:
Name Flags
engine
public void <init>(javax.net.ssl.SSLEngine, boolean);
descriptor: (Ljavax/net/ssl/SSLEngine;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
getstatic io.netty.util.concurrent.ImmediateExecutor.INSTANCE:Lio/netty/util/concurrent/ImmediateExecutor;
invokespecial io.netty.handler.ssl.SslHandler.<init>:(Ljavax/net/ssl/SSLEngine;ZLjava/util/concurrent/Executor;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 engine Ljavax/net/ssl/SSLEngine;
0 2 2 startTls Z
MethodParameters:
Name Flags
engine
startTls
public void <init>(javax.net.ssl.SSLEngine, java.util.concurrent.Executor);
descriptor: (Ljavax/net/ssl/SSLEngine;Ljava/util/concurrent/Executor;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_0
aload 2
invokespecial io.netty.handler.ssl.SslHandler.<init>:(Ljavax/net/ssl/SSLEngine;ZLjava/util/concurrent/Executor;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 engine Ljavax/net/ssl/SSLEngine;
0 2 2 delegatedTaskExecutor Ljava/util/concurrent/Executor;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
engine
delegatedTaskExecutor
public void <init>(javax.net.ssl.SSLEngine, boolean, java.util.concurrent.Executor);
descriptor: (Ljavax/net/ssl/SSLEngine;ZLjava/util/concurrent/Executor;)V
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
invokespecial io.netty.handler.codec.ByteToMessageDecoder.<init>:()V
1: aload 0
iconst_1
anewarray java.nio.ByteBuffer
putfield io.netty.handler.ssl.SslHandler.singleBuffer:[Ljava/nio/ByteBuffer;
2: aload 0
new io.netty.handler.ssl.SslHandler$LazyChannelPromise
dup
aload 0
invokespecial io.netty.handler.ssl.SslHandler$LazyChannelPromise.<init>:(Lio/netty/handler/ssl/SslHandler;)V
putfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
3: aload 0
new io.netty.handler.ssl.SslHandler$LazyChannelPromise
dup
aload 0
invokespecial io.netty.handler.ssl.SslHandler$LazyChannelPromise.<init>:(Lio/netty/handler/ssl/SslHandler;)V
putfield io.netty.handler.ssl.SslHandler.sslClosePromise:Lio/netty/handler/ssl/SslHandler$LazyChannelPromise;
4: aload 0
ldc 10000
putfield io.netty.handler.ssl.SslHandler.handshakeTimeoutMillis:J
5: aload 0
ldc 3000
putfield io.netty.handler.ssl.SslHandler.closeNotifyFlushTimeoutMillis:J
6: aload 0
sipush 16384
putfield io.netty.handler.ssl.SslHandler.wrapDataSize:I
7: aload 1
ifnonnull 9
8: new java.lang.NullPointerException
dup
ldc "engine"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: io.netty.handler.ssl.SslHandler javax.net.ssl.SSLEngine int java.util.concurrent.Executor
StackMap stack:
aload 3
ifnonnull 11
10: new java.lang.NullPointerException
dup
ldc "delegatedTaskExecutor"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
12: aload 0
aload 1
invokestatic io.netty.handler.ssl.SslHandler$SslEngineType.forEngine:(Ljavax/net/ssl/SSLEngine;)Lio/netty/handler/ssl/SslHandler$SslEngineType;
putfield io.netty.handler.ssl.SslHandler.engineType:Lio/netty/handler/ssl/SslHandler$SslEngineType;
13: aload 0
aload 3
putfield io.netty.handler.ssl.SslHandler.delegatedTaskExecutor:Ljava/util/concurrent/Executor;
14: aload 0
iload 2
putfield io.netty.handler.ssl.SslHandler.startTls:Z
15: aload 0
aload 0
getfield io.netty.handler.ssl.SslHandler.engineType:Lio/netty/handler/ssl/SslHandler$SslEngineType;
aload 1
invokevirtual io.netty.handler.ssl.SslHandler$SslEngineType.jdkCompatibilityMode:(Ljavax/net/ssl/SSLEngine;)Z
putfield io.netty.handler.ssl.SslHandler.jdkCompatibilityMode:Z
16: aload 0
aload 0
getfield io.netty.handler.ssl.SslHandler.engineType:Lio/netty/handler/ssl/SslHandler$SslEngineType;
getfield io.netty.handler.ssl.SslHandler$SslEngineType.cumulator:Lio/netty/handler/codec/ByteToMessageDecoder$Cumulator;
invokevirtual io.netty.handler.ssl.SslHandler.setCumulator:(Lio/netty/handler/codec/ByteToMessageDecoder$Cumulator;)V
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/netty/handler/ssl/SslHandler;
0 18 1 engine Ljavax/net/ssl/SSLEngine;
0 18 2 startTls Z
0 18 3 delegatedTaskExecutor Ljava/util/concurrent/Executor;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
engine
startTls
delegatedTaskExecutor
public long getHandshakeTimeoutMillis();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.SslHandler.handshakeTimeoutMillis:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/SslHandler;
public void setHandshakeTimeout(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 3
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "unit"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeTimeoutMillis:(J)V
3: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/ssl/SslHandler;
0 4 1 handshakeTimeout J
0 4 3 unit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
handshakeTimeout
unit
public void setHandshakeTimeoutMillis(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifge 4
1: new java.lang.IllegalArgumentException
dup
2: new java.lang.StringBuilder
dup
ldc "handshakeTimeoutMillis: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " (expected: >= 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield io.netty.handler.ssl.SslHandler.handshakeTimeoutMillis:J
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/ssl/SslHandler;
0 6 1 handshakeTimeoutMillis J
MethodParameters:
Name Flags
handshakeTimeoutMillis
public final void setWrapDataSize(int);
descriptor: (I)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.netty.handler.ssl.SslHandler.wrapDataSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 wrapDataSize I
MethodParameters:
Name Flags
wrapDataSize
public long getCloseNotifyTimeoutMillis();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.handler.ssl.SslHandler.getCloseNotifyFlushTimeoutMillis:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/SslHandler;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public void setCloseNotifyTimeout(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
aload 3
invokevirtual io.netty.handler.ssl.SslHandler.setCloseNotifyFlushTimeout:(JLjava/util/concurrent/TimeUnit;)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 closeNotifyTimeout J
0 2 3 unit Ljava/util/concurrent/TimeUnit;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
closeNotifyTimeout
unit
public void setCloseNotifyTimeoutMillis(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
invokevirtual io.netty.handler.ssl.SslHandler.setCloseNotifyFlushTimeoutMillis:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 closeNotifyFlushTimeoutMillis J
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
closeNotifyFlushTimeoutMillis
public final long getCloseNotifyFlushTimeoutMillis();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.SslHandler.closeNotifyFlushTimeoutMillis:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/SslHandler;
public final void setCloseNotifyFlushTimeout(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual io.netty.handler.ssl.SslHandler.setCloseNotifyFlushTimeoutMillis:(J)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 closeNotifyFlushTimeout J
0 2 3 unit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
closeNotifyFlushTimeout
unit
public final void setCloseNotifyFlushTimeoutMillis(long);
descriptor: (J)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifge 4
1: new java.lang.IllegalArgumentException
dup
2: new java.lang.StringBuilder
dup
ldc "closeNotifyFlushTimeoutMillis: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " (expected: >= 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield io.netty.handler.ssl.SslHandler.closeNotifyFlushTimeoutMillis:J
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/ssl/SslHandler;
0 6 1 closeNotifyFlushTimeoutMillis J
MethodParameters:
Name Flags
closeNotifyFlushTimeoutMillis
public final long getCloseNotifyReadTimeoutMillis();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.SslHandler.closeNotifyReadTimeoutMillis:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/SslHandler;
public final void setCloseNotifyReadTimeout(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual io.netty.handler.ssl.SslHandler.setCloseNotifyReadTimeoutMillis:(J)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 closeNotifyReadTimeout J
0 2 3 unit Ljava/util/concurrent/TimeUnit;
MethodParameters:
Name Flags
closeNotifyReadTimeout
unit
public final void setCloseNotifyReadTimeoutMillis(long);
descriptor: (J)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifge 4
1: new java.lang.IllegalArgumentException
dup
2: new java.lang.StringBuilder
dup
ldc "closeNotifyReadTimeoutMillis: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " (expected: >= 0)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield io.netty.handler.ssl.SslHandler.closeNotifyReadTimeoutMillis:J
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/ssl/SslHandler;
0 6 1 closeNotifyReadTimeoutMillis J
MethodParameters:
Name Flags
closeNotifyReadTimeoutMillis
public javax.net.ssl.SSLEngine engine();
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.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/SslHandler;
public java.lang.String applicationProtocol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.handler.ssl.SslHandler.engine:()Ljavax/net/ssl/SSLEngine;
astore 1
start local 1 1: aload 1
instanceof io.netty.handler.ssl.ApplicationProtocolAccessor
ifne 3
2: aconst_null
areturn
3: StackMap locals: javax.net.ssl.SSLEngine
StackMap stack:
aload 1
checkcast io.netty.handler.ssl.ApplicationProtocolAccessor
invokeinterface io.netty.handler.ssl.ApplicationProtocolAccessor.getNegotiatedApplicationProtocol:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/ssl/SslHandler;
1 4 1 engine Ljavax/net/ssl/SSLEngine;
public io.netty.util.concurrent.Future<io.netty.channel.Channel> handshakeFuture();
descriptor: ()Lio/netty/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/SslHandler;
Signature: ()Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
public io.netty.channel.ChannelFuture close();
descriptor: ()Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
invokevirtual io.netty.handler.ssl.SslHandler.close:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/SslHandler;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public io.netty.channel.ChannelFuture close(io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
astore 2
start local 2 1: aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
new io.netty.handler.ssl.SslHandler$1
dup
aload 0
aload 2
aload 1
invokespecial io.netty.handler.ssl.SslHandler$1.<init>:(Lio/netty/handler/ssl/SslHandler;Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
2: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/ssl/SslHandler;
0 3 1 promise Lio/netty/channel/ChannelPromise;
1 3 2 ctx Lio/netty/channel/ChannelHandlerContext;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
promise final
public io.netty.util.concurrent.Future<io.netty.channel.Channel> sslCloseFuture();
descriptor: ()Lio/netty/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.SslHandler.sslClosePromise:Lio/netty/handler/ssl/SslHandler$LazyChannelPromise;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/SslHandler;
Signature: ()Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
public void handlerRemoved0(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.isEmpty:()Z
ifne 4
1: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
aload 1
2: new io.netty.channel.ChannelException
dup
ldc "Pending write on removal of SslHandler"
invokespecial io.netty.channel.ChannelException.<init>:(Ljava/lang/String;)V
3: invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.releaseAndFailAll:(Lio/netty/channel/ChannelOutboundInvoker;Ljava/lang/Throwable;)V
4: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
5: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
instanceof io.netty.util.ReferenceCounted
ifeq 7
6: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
checkcast io.netty.util.ReferenceCounted
invokeinterface io.netty.util.ReferenceCounted.release:()Z
pop
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/ssl/SslHandler;
0 8 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void bind(io.netty.channel.ChannelHandlerContext, java.net.SocketAddress, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.bind:(Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 localAddress Ljava/net/SocketAddress;
0 2 3 promise Lio/netty/channel/ChannelPromise;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
localAddress
promise
public void connect(io.netty.channel.ChannelHandlerContext, java.net.SocketAddress, java.net.SocketAddress, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
aload 2
aload 3
aload 4
invokeinterface io.netty.channel.ChannelHandlerContext.connect:(Ljava/net/SocketAddress;Ljava/net/SocketAddress;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 remoteAddress Ljava/net/SocketAddress;
0 2 3 localAddress Ljava/net/SocketAddress;
0 2 4 promise Lio/netty/channel/ChannelPromise;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
remoteAddress
localAddress
promise
public void deregister(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.deregister:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 promise Lio/netty/channel/ChannelPromise;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
promise
public void disconnect(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
invokevirtual io.netty.handler.ssl.SslHandler.closeOutboundAndChannel:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 promise Lio/netty/channel/ChannelPromise;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx final
promise final
public void close(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual io.netty.handler.ssl.SslHandler.closeOutboundAndChannel:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 promise Lio/netty/channel/ChannelPromise;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx final
promise final
public void read(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
invokeinterface io.netty.util.concurrent.Promise.isDone:()Z
ifne 2
1: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.readDuringHandshake:Z
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.read:()Lio/netty/channel/ChannelHandlerContext;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/ssl/SslHandler;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
private static java.lang.IllegalStateException newPendingWritesNullException();
descriptor: ()Ljava/lang/IllegalStateException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.IllegalStateException
dup
ldc "pendingUnencryptedWrites is null, handlerRemoved0 called?"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
public void write(io.netty.channel.ChannelHandlerContext, java.lang.Object, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
instanceof io.netty.buffer.ByteBuf
ifne 5
1: new io.netty.handler.codec.UnsupportedMessageTypeException
dup
aload 2
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lio/netty/buffer/ByteBuf;
aastore
invokespecial io.netty.handler.codec.UnsupportedMessageTypeException.<init>:(Ljava/lang/Object;[Ljava/lang/Class;)V
astore 4
start local 4 2: aload 2
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
3: aload 3
aload 4
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
end local 4 4: goto 10
StackMap locals:
StackMap stack:
5: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
ifnonnull 9
6: aload 2
invokestatic io.netty.util.ReferenceCountUtil.safeRelease:(Ljava/lang/Object;)V
7: aload 3
invokestatic io.netty.handler.ssl.SslHandler.newPendingWritesNullException:()Ljava/lang/IllegalStateException;
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
aload 2
checkcast io.netty.buffer.ByteBuf
aload 3
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.add:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/ssl/SslHandler;
0 11 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 11 2 msg Ljava/lang/Object;
0 11 3 promise Lio/netty/channel/ChannelPromise;
2 4 4 exception Lio/netty/handler/codec/UnsupportedMessageTypeException;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx final
msg
promise
public void flush(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.ssl.SslHandler.startTls:Z
ifeq 5
aload 0
getfield io.netty.handler.ssl.SslHandler.sentFirstMessage:Z
ifne 5
1: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.sentFirstMessage:Z
2: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
aload 1
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.writeAndRemoveAll:(Lio/netty/channel/ChannelHandlerContext;)V
3: aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.forceFlush:(Lio/netty/channel/ChannelHandlerContext;)V
4: return
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.wrapAndFlush:(Lio/netty/channel/ChannelHandlerContext;)V
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
start local 2 8: aload 0
aload 1
aload 2
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeFailure:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
9: aload 2
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/ssl/SslHandler;
0 11 1 ctx Lio/netty/channel/ChannelHandlerContext;
8 10 2 cause Ljava/lang/Throwable;
Exception table:
from to target type
5 6 7 Class java.lang.Throwable
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
private void wrapAndFlush(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.isEmpty:()Z
ifeq 2
1: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.add:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
invokeinterface io.netty.util.concurrent.Promise.isDone:()Z
ifne 4
3: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.flushedBeforeHandshake:Z
4: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokevirtual io.netty.handler.ssl.SslHandler.wrap:(Lio/netty/channel/ChannelHandlerContext;Z)V
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 2
7: aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.forceFlush:(Lio/netty/channel/ChannelHandlerContext;)V
8: aload 2
athrow
9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.forceFlush:(Lio/netty/channel/ChannelHandlerContext;)V
10: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/ssl/SslHandler;
0 11 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exception table:
from to target type
4 6 6 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
ctx
private void wrap(io.netty.channel.ChannelHandlerContext, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aconst_null
astore 4
start local 4 2: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: aconst_null
astore 7
start local 7 5: aload 0
getfield io.netty.handler.ssl.SslHandler.wrapDataSize:I
istore 8
start local 8 6: goto 50
7: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf io.netty.channel.ChannelPromise io.netty.buffer.ByteBufAllocator int io.netty.buffer.ByteBuf int
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
astore 4
8: iload 8
ifle 10
9: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
aload 5
iload 8
aload 4
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.remove:(Lio/netty/buffer/ByteBufAllocator;ILio/netty/channel/ChannelPromise;)Lio/netty/buffer/ByteBuf;
goto 11
10: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
aload 4
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.removeFirst:(Lio/netty/channel/ChannelPromise;)Lio/netty/buffer/ByteBuf;
11: StackMap locals:
StackMap stack: io.netty.buffer.ByteBuf
astore 7
12: aload 7
ifnonnull 14
13: goto 57
14: StackMap locals:
StackMap stack:
aload 3
ifnonnull 16
15: aload 0
aload 1
aload 7
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
aload 7
invokevirtual io.netty.buffer.ByteBuf.nioBufferCount:()I
invokevirtual io.netty.handler.ssl.SslHandler.allocateOutNetBuf:(Lio/netty/channel/ChannelHandlerContext;II)Lio/netty/buffer/ByteBuf;
astore 3
16: StackMap locals:
StackMap stack:
aload 0
aload 5
aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
aload 7
aload 3
invokevirtual io.netty.handler.ssl.SslHandler.wrap:(Lio/netty/buffer/ByteBufAllocator;Ljavax/net/ssl/SSLEngine;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Ljavax/net/ssl/SSLEngineResult;
astore 9
start local 9 17: 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 27
18: aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
19: aconst_null
astore 7
20: aload 4
getstatic io.netty.handler.ssl.SslHandler.SSLENGINE_CLOSED:Ljavax/net/ssl/SSLException;
invokeinterface io.netty.channel.ChannelPromise.tryFailure:(Ljava/lang/Throwable;)Z
pop
21: aconst_null
astore 4
22: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
aload 1
getstatic io.netty.handler.ssl.SslHandler.SSLENGINE_CLOSED:Ljavax/net/ssl/SSLException;
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.releaseAndFailAll:(Lio/netty/channel/ChannelOutboundInvoker;Ljava/lang/Throwable;)V
23: aload 7
ifnull 25
24: aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
25: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aload 0
aload 1
aload 3
aload 4
iload 2
iload 6
invokevirtual io.netty.handler.ssl.SslHandler.finishWrap:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;ZZ)V
26: return
27: StackMap locals:
StackMap stack:
aload 7
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 31
28: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
aload 7
aload 4
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.addFirst:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)V
29: aconst_null
astore 4
30: goto 32
31: StackMap locals:
StackMap stack:
aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
32: StackMap locals:
StackMap stack:
aconst_null
astore 7
33: invokestatic io.netty.handler.ssl.SslHandler.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
aload 9
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 37
2: 36
3: 34
4: 38
5: 42
default: 47
}
34: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.ssl.SslHandler.runDelegatedTasks:()V
35: goto 50
36: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeSuccess:()V
37: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeSuccessIfStillHandshaking:()Z
pop
38: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
aload 4
iload 2
iconst_0
invokevirtual io.netty.handler.ssl.SslHandler.finishWrap:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;ZZ)V
39: aconst_null
astore 4
40: aconst_null
astore 3
41: goto 50
42: StackMap locals:
StackMap stack:
iconst_1
istore 6
43: aload 7
ifnull 45
44: aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
45: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
aload 4
iload 2
iload 6
invokevirtual io.netty.handler.ssl.SslHandler.finishWrap:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;ZZ)V
46: return
47: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
48: new java.lang.StringBuilder
dup
ldc "Unknown handshake status: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 9 50: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.isRemoved:()Z
ifeq 7
end local 8 51: goto 57
StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf io.netty.channel.ChannelPromise io.netty.buffer.ByteBufAllocator int io.netty.buffer.ByteBuf
StackMap stack: java.lang.Throwable
52: astore 10
53: aload 7
ifnull 55
54: aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
55: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf io.netty.channel.ChannelPromise io.netty.buffer.ByteBufAllocator int io.netty.buffer.ByteBuf top top java.lang.Throwable
StackMap stack:
aload 0
aload 1
aload 3
aload 4
iload 2
iload 6
invokevirtual io.netty.handler.ssl.SslHandler.finishWrap:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;ZZ)V
56: aload 10
athrow
57: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf io.netty.channel.ChannelPromise io.netty.buffer.ByteBufAllocator int io.netty.buffer.ByteBuf
StackMap stack:
aload 7
ifnull 59
58: aload 7
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
59: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 3
aload 4
iload 2
iload 6
invokevirtual io.netty.handler.ssl.SslHandler.finishWrap:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;ZZ)V
60: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 61 0 this Lio/netty/handler/ssl/SslHandler;
0 61 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 61 2 inUnwrap Z
1 61 3 out Lio/netty/buffer/ByteBuf;
2 61 4 promise Lio/netty/channel/ChannelPromise;
3 61 5 alloc Lio/netty/buffer/ByteBufAllocator;
4 61 6 needUnwrap Z
5 61 7 buf Lio/netty/buffer/ByteBuf;
6 51 8 wrapDataSize I
17 50 9 result Ljavax/net/ssl/SSLEngineResult;
Exception table:
from to target type
5 23 52 any
27 43 52 any
47 52 52 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
ctx
inUnwrap
private void finishWrap(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, io.netty.channel.ChannelPromise, boolean, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;ZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, 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 2
ifnonnull 3
1: getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
astore 2
2: goto 6
StackMap locals:
StackMap stack:
3: aload 2
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifne 6
4: aload 2
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
5: getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
astore 2
6: StackMap locals:
StackMap stack:
aload 3
ifnull 9
7: aload 1
aload 2
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
8: goto 10
9: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
pop
10: StackMap locals:
StackMap stack:
iload 4
ifeq 12
11: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.needsFlush:Z
12: StackMap locals:
StackMap stack:
iload 5
ifeq 14
13: aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.readIfNeeded:(Lio/netty/channel/ChannelHandlerContext;)V
14: 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 15 0 this Lio/netty/handler/ssl/SslHandler;
0 15 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 15 2 out Lio/netty/buffer/ByteBuf;
0 15 3 promise Lio/netty/channel/ChannelPromise;
0 15 4 inUnwrap Z
0 15 5 needUnwrap Z
MethodParameters:
Name Flags
ctx
out
promise
inUnwrap
needUnwrap
private boolean wrapNonAppData(io.netty.channel.ChannelHandlerContext, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
astore 4
start local 4 2: goto 36
3: StackMap locals: io.netty.buffer.ByteBuf io.netty.buffer.ByteBufAllocator
StackMap stack:
aload 3
ifnonnull 5
4: aload 0
aload 1
sipush 2048
iconst_1
invokevirtual io.netty.handler.ssl.SslHandler.allocateOutNetBuf:(Lio/netty/channel/ChannelHandlerContext;II)Lio/netty/buffer/ByteBuf;
astore 3
5: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
aload 3
invokevirtual io.netty.handler.ssl.SslHandler.wrap:(Lio/netty/buffer/ByteBufAllocator;Ljavax/net/ssl/SSLEngine;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Ljavax/net/ssl/SSLEngineResult;
astore 5
start local 5 6: aload 5
invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
ifle 11
7: aload 1
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.write:(Ljava/lang/Object;)Lio/netty/channel/ChannelFuture;
pop
8: iload 2
ifeq 10
9: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.needsFlush:Z
10: StackMap locals: javax.net.ssl.SSLEngineResult
StackMap stack:
aconst_null
astore 3
11: StackMap locals:
StackMap stack:
invokestatic io.netty.handler.ssl.SslHandler.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
aload 5
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 25
2: 12
3: 16
4: 24
5: 18
default: 31
}
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeSuccess:()V
13: aload 3
ifnull 15
14: aload 3
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
15: StackMap locals:
StackMap stack:
iconst_0
ireturn
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.ssl.SslHandler.runDelegatedTasks:()V
17: goto 32
18: StackMap locals:
StackMap stack:
iload 2
ifeq 22
19: aload 3
ifnull 21
20: aload 3
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
21: StackMap locals:
StackMap stack:
iconst_0
ireturn
22: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.unwrapNonAppData:(Lio/netty/channel/ChannelHandlerContext;)V
23: goto 32
24: StackMap locals:
StackMap stack:
goto 32
25: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeSuccessIfStillHandshaking:()Z
pop
26: iload 2
ifne 28
27: aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.unwrapNonAppData:(Lio/netty/channel/ChannelHandlerContext;)V
28: StackMap locals:
StackMap stack:
aload 3
ifnull 30
29: aload 3
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
30: StackMap locals:
StackMap stack:
iconst_1
ireturn
31: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Unknown handshake status: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 5
invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
ifne 34
33: goto 42
34: StackMap locals:
StackMap stack:
aload 5
invokevirtual javax.net.ssl.SSLEngineResult.bytesConsumed:()I
ifne 36
aload 5
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 36
35: goto 42
end local 5 36: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.isRemoved:()Z
ifeq 3
37: goto 42
StackMap locals:
StackMap stack: java.lang.Throwable
38: astore 6
39: aload 3
ifnull 41
40: aload 3
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
41: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf io.netty.buffer.ByteBufAllocator top java.lang.Throwable
StackMap stack:
aload 6
athrow
42: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext int io.netty.buffer.ByteBuf io.netty.buffer.ByteBufAllocator
StackMap stack:
aload 3
ifnull 44
43: aload 3
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
44: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Lio/netty/handler/ssl/SslHandler;
0 45 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 45 2 inUnwrap Z
1 45 3 out Lio/netty/buffer/ByteBuf;
2 45 4 alloc Lio/netty/buffer/ByteBufAllocator;
6 36 5 result Ljavax/net/ssl/SSLEngineResult;
Exception table:
from to target type
2 13 38 any
16 19 38 any
22 28 38 any
31 38 38 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
ctx
inUnwrap
private javax.net.ssl.SSLEngineResult wrap(io.netty.buffer.ByteBufAllocator, javax.net.ssl.SSLEngine, io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBufAllocator;Ljavax/net/ssl/SSLEngine;Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;)Ljavax/net/ssl/SSLEngineResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aconst_null
astore 5
start local 5 1: aload 3
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
istore 6
start local 6 2: aload 3
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 7
start local 7 3: aload 3
invokevirtual io.netty.buffer.ByteBuf.isDirect:()Z
ifne 4
aload 0
getfield io.netty.handler.ssl.SslHandler.engineType:Lio/netty/handler/ssl/SslHandler$SslEngineType;
getfield io.netty.handler.ssl.SslHandler$SslEngineType.wantsDirectBuffer:Z
ifne 10
4: StackMap locals: io.netty.buffer.ByteBuf int int
StackMap stack:
aload 3
instanceof io.netty.buffer.CompositeByteBuf
ifne 8
aload 3
invokevirtual io.netty.buffer.ByteBuf.nioBufferCount:()I
iconst_1
if_icmpne 8
5: aload 0
getfield io.netty.handler.ssl.SslHandler.singleBuffer:[Ljava/nio/ByteBuffer;
astore 8
start local 8 6: aload 8
iconst_0
aload 3
iload 6
iload 7
invokevirtual io.netty.buffer.ByteBuf.internalNioBuffer:(II)Ljava/nio/ByteBuffer;
aastore
7: goto 14
end local 8 8: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.netty.buffer.ByteBuf.nioBuffers:()[Ljava/nio/ByteBuffer;
astore 8
start local 8 9: goto 14
end local 8 10: StackMap locals:
StackMap stack:
aload 1
iload 7
invokeinterface io.netty.buffer.ByteBufAllocator.directBuffer:(I)Lio/netty/buffer/ByteBuf;
astore 5
11: aload 5
aload 3
iload 6
iload 7
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;II)Lio/netty/buffer/ByteBuf;
pop
12: aload 0
getfield io.netty.handler.ssl.SslHandler.singleBuffer:[Ljava/nio/ByteBuffer;
astore 8
start local 8 13: aload 8
iconst_0
aload 5
aload 5
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 7
invokevirtual io.netty.buffer.ByteBuf.internalNioBuffer:(II)Ljava/nio/ByteBuffer;
aastore
14: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 4
aload 4
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
aload 4
invokevirtual io.netty.buffer.ByteBuf.writableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.nioBuffer:(II)Ljava/nio/ByteBuffer;
astore 9
start local 9 15: aload 2
aload 8
aload 9
invokevirtual javax.net.ssl.SSLEngine.wrap:([Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
astore 10
start local 10 16: aload 3
aload 10
invokevirtual javax.net.ssl.SSLEngineResult.bytesConsumed:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
17: aload 4
aload 4
invokevirtual io.netty.buffer.ByteBuf.writerIndex:()I
aload 10
invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
iadd
invokevirtual io.netty.buffer.ByteBuf.writerIndex:(I)Lio/netty/buffer/ByteBuf;
pop
18: invokestatic io.netty.handler.ssl.SslHandler.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:()[I
aload 10
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iaload
tableswitch { // 2 - 2
2: 19
default: 21
}
19: StackMap locals: java.nio.ByteBuffer javax.net.ssl.SSLEngineResult
StackMap stack:
aload 4
aload 2
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getPacketBufferSize:()I
invokevirtual io.netty.buffer.ByteBuf.ensureWritable:(I)Lio/netty/buffer/ByteBuf;
pop
20: goto 14
21: StackMap locals:
StackMap stack:
aload 10
astore 12
22: aload 0
getfield io.netty.handler.ssl.SslHandler.singleBuffer:[Ljava/nio/ByteBuffer;
iconst_0
aconst_null
aastore
23: aload 5
ifnull 25
24: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
25: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.buffer.ByteBufAllocator javax.net.ssl.SSLEngine io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf int int java.nio.ByteBuffer[] java.nio.ByteBuffer javax.net.ssl.SSLEngineResult top javax.net.ssl.SSLEngineResult
StackMap stack:
aload 12
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 26: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.buffer.ByteBufAllocator javax.net.ssl.SSLEngine io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf
StackMap stack: java.lang.Throwable
astore 11
27: aload 0
getfield io.netty.handler.ssl.SslHandler.singleBuffer:[Ljava/nio/ByteBuffer;
iconst_0
aconst_null
aastore
28: aload 5
ifnull 30
29: aload 5
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
30: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.buffer.ByteBufAllocator javax.net.ssl.SSLEngine io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf io.netty.buffer.ByteBuf top top top top top java.lang.Throwable
StackMap stack:
aload 11
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 31 0 this Lio/netty/handler/ssl/SslHandler;
0 31 1 alloc Lio/netty/buffer/ByteBufAllocator;
0 31 2 engine Ljavax/net/ssl/SSLEngine;
0 31 3 in Lio/netty/buffer/ByteBuf;
0 31 4 out Lio/netty/buffer/ByteBuf;
1 31 5 newDirectIn Lio/netty/buffer/ByteBuf;
2 26 6 readerIndex I
3 26 7 readableBytes I
6 8 8 in0 [Ljava/nio/ByteBuffer;
9 10 8 in0 [Ljava/nio/ByteBuffer;
13 26 8 in0 [Ljava/nio/ByteBuffer;
15 26 9 out0 Ljava/nio/ByteBuffer;
16 26 10 result Ljavax/net/ssl/SSLEngineResult;
Exception table:
from to target type
1 22 26 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
alloc
engine
in
out
public void channelInactive(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic io.netty.handler.ssl.SslHandler.CHANNEL_CLOSED:Ljava/nio/channels/ClosedChannelException;
aload 0
getfield io.netty.handler.ssl.SslHandler.outboundClosed:Z
ifeq 1
iconst_0
goto 2
StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext
StackMap stack: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext java.nio.channels.ClosedChannelException
1: iconst_1
StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext
StackMap stack: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext java.nio.channels.ClosedChannelException int
2: aload 0
getfield io.netty.handler.ssl.SslHandler.handshakeStarted:Z
iconst_0
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeFailure:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;ZZZ)V
3: aload 0
getstatic io.netty.handler.ssl.SslHandler.CHANNEL_CLOSED:Ljava/nio/channels/ClosedChannelException;
invokevirtual io.netty.handler.ssl.SslHandler.notifyClosePromise:(Ljava/lang/Throwable;)V
4: aload 0
aload 1
invokespecial io.netty.handler.codec.ByteToMessageDecoder.channelInactive:(Lio/netty/channel/ChannelHandlerContext;)V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/ssl/SslHandler;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
public void exceptionCaught(io.netty.channel.ChannelHandlerContext, java.lang.Throwable);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual io.netty.handler.ssl.SslHandler.ignoreException:(Ljava/lang/Throwable;)Z
ifeq 9
1: getstatic io.netty.handler.ssl.SslHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 6
2: getstatic io.netty.handler.ssl.SslHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
3: ldc "{} Swallowing a harmless 'connection reset by peer / broken pipe' error that occurred while writing close_notify in response to the peer's close_notify"
4: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 2
5: invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isActive:()Z
ifeq 10
7: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.close:()Lio/netty/channel/ChannelFuture;
pop
8: goto 10
9: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
pop
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/ssl/SslHandler;
0 11 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 11 2 cause Ljava/lang/Throwable;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
cause
private boolean ignoreException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=11, args_size=2
start local 0 start local 1 0: aload 1
instanceof javax.net.ssl.SSLException
ifne 28
aload 1
instanceof java.io.IOException
ifeq 28
aload 0
getfield io.netty.handler.ssl.SslHandler.sslClosePromise:Lio/netty/handler/ssl/SslHandler$LazyChannelPromise;
invokevirtual io.netty.handler.ssl.SslHandler$LazyChannelPromise.isDone:()Z
ifeq 28
1: aload 1
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
astore 2
start local 2 2: aload 2
ifnull 4
getstatic io.netty.handler.ssl.SslHandler.IGNORABLE_ERROR_MESSAGE:Ljava/util/regex/Pattern;
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokevirtual java.lang.Throwable.getStackTrace:()[Ljava/lang/StackTraceElement;
astore 3
start local 3 5: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 27
StackMap locals: io.netty.handler.ssl.SslHandler java.lang.Throwable java.lang.String java.lang.StackTraceElement[] top int int java.lang.StackTraceElement[]
StackMap stack:
6: aload 7
iload 5
aaload
astore 4
start local 4 7: aload 4
invokevirtual java.lang.StackTraceElement.getClassName:()Ljava/lang/String;
astore 8
start local 8 8: aload 4
invokevirtual java.lang.StackTraceElement.getMethodName:()Ljava/lang/String;
astore 9
start local 9 9: aload 8
ldc "io.netty."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
10: goto 26
11: StackMap locals: io.netty.handler.ssl.SslHandler java.lang.Throwable java.lang.String java.lang.StackTraceElement[] java.lang.StackTraceElement int int java.lang.StackTraceElement[] java.lang.String java.lang.String
StackMap stack:
ldc "read"
aload 9
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
12: goto 26
13: StackMap locals:
StackMap stack:
getstatic io.netty.handler.ssl.SslHandler.IGNORABLE_CLASS_IN_STACK:Ljava/util/regex/Pattern;
aload 8
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 15
14: iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic io.netty.util.internal.PlatformDependent.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
aload 8
invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
astore 10
start local 10 16: ldc Ljava/nio/channels/SocketChannel;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 18
17: ldc Ljava/nio/channels/DatagramChannel;
aload 10
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 19
18: StackMap locals: java.lang.Class
StackMap stack:
iconst_1
ireturn
19: StackMap locals:
StackMap stack:
invokestatic io.netty.util.internal.PlatformDependent.javaVersion:()I
bipush 7
if_icmplt 26
20: ldc "com.sun.nio.sctp.SctpChannel"
aload 10
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
21: iconst_1
ireturn
end local 10 22: StackMap locals: io.netty.handler.ssl.SslHandler java.lang.Throwable java.lang.String java.lang.StackTraceElement[] java.lang.StackTraceElement int int java.lang.StackTraceElement[] java.lang.String java.lang.String
StackMap stack: java.lang.Throwable
astore 10
start local 10 23: getstatic io.netty.handler.ssl.SslHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "Unexpected exception while loading class {} classname {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
24: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
dup
iconst_1
aload 8
aastore
dup
iconst_2
aload 10
aastore
25: invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 10 end local 9 end local 8 end local 4 26: StackMap locals: io.netty.handler.ssl.SslHandler java.lang.Throwable java.lang.String java.lang.StackTraceElement[] top int int java.lang.StackTraceElement[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
27: iload 5
iload 6
if_icmplt 6
end local 3 end local 2 28: StackMap locals: io.netty.handler.ssl.SslHandler java.lang.Throwable
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lio/netty/handler/ssl/SslHandler;
0 29 1 t Ljava/lang/Throwable;
2 28 2 message Ljava/lang/String;
5 28 3 elements [Ljava/lang/StackTraceElement;
7 26 4 element Ljava/lang/StackTraceElement;
8 26 8 classname Ljava/lang/String;
9 26 9 methodname Ljava/lang/String;
16 22 10 clazz Ljava/lang/Class<*>;
23 26 10 cause Ljava/lang/Throwable;
Exception table:
from to target type
15 18 22 Class java.lang.Throwable
19 21 22 Class java.lang.Throwable
MethodParameters:
Name Flags
t
public static boolean isEncrypted(io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/buffer/ByteBuf;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iconst_5
if_icmpge 4
1: new java.lang.IllegalArgumentException
dup
2: ldc "buffer must have at least 5 readable bytes"
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
invokestatic io.netty.handler.ssl.SslUtils.getEncryptedPacketLength:(Lio/netty/buffer/ByteBuf;I)I
bipush -2
if_icmpeq 5
iconst_1
ireturn
StackMap locals:
StackMap stack:
5: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 buffer Lio/netty/buffer/ByteBuf;
MethodParameters:
Name Flags
buffer
private void decodeJdkCompatible(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.handler.ssl.SslHandler.packetLength:I
istore 3
start local 3 1: iload 3
ifle 4
2: aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
iload 3
if_icmpge 19
3: return
4: StackMap locals: int
StackMap stack:
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 4
start local 4 5: iload 4
iconst_5
if_icmpge 7
6: return
7: StackMap locals: int
StackMap stack:
aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
invokestatic io.netty.handler.ssl.SslUtils.getEncryptedPacketLength:(Lio/netty/buffer/ByteBuf;I)I
istore 3
8: iload 3
bipush -2
if_icmpne 15
9: new io.netty.handler.ssl.NotSslRecordException
dup
10: new java.lang.StringBuilder
dup
ldc "not an SSL/TLS record: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokestatic io.netty.buffer.ByteBufUtil.hexDump:(Lio/netty/buffer/ByteBuf;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial io.netty.handler.ssl.NotSslRecordException.<init>:(Ljava/lang/String;)V
astore 5
start local 5 12: aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
13: aload 0
aload 1
aload 5
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeFailure:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
14: aload 5
athrow
end local 5 15: StackMap locals:
StackMap stack:
getstatic io.netty.handler.ssl.SslHandler.$assertionsDisabled:Z
ifne 16
iload 3
ifgt 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
iload 3
iload 4
if_icmple 19
17: aload 0
iload 3
putfield io.netty.handler.ssl.SslHandler.packetLength:I
18: return
end local 4 19: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield io.netty.handler.ssl.SslHandler.packetLength:I
20: aload 0
aload 1
aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
iload 3
invokevirtual io.netty.handler.ssl.SslHandler.unwrap:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;II)I
istore 4
start local 4 21: getstatic io.netty.handler.ssl.SslHandler.$assertionsDisabled:Z
ifne 25
iload 4
iload 3
if_icmpeq 25
aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.isInboundDone:()Z
ifne 25
new java.lang.AssertionError
dup
22: new java.lang.StringBuilder
dup
ldc "we feed the SSLEngine a packets worth of data: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " but it only consumed: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
23: iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
24: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
25: StackMap locals: int
StackMap stack:
aload 2
iload 4
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
end local 4 26: goto 29
StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf int
StackMap stack: java.lang.Throwable
27: astore 4
start local 4 28: aload 0
aload 1
aload 4
invokevirtual io.netty.handler.ssl.SslHandler.handleUnwrapThrowable:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
end local 4 29: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lio/netty/handler/ssl/SslHandler;
0 30 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 30 2 in Lio/netty/buffer/ByteBuf;
1 30 3 packetLength I
5 19 4 readableBytes I
12 15 5 e Lio/netty/handler/ssl/NotSslRecordException;
21 26 4 bytesConsumed I
28 29 4 cause Ljava/lang/Throwable;
Exception table:
from to target type
20 26 27 Class java.lang.Throwable
Exceptions:
throws io.netty.handler.ssl.NotSslRecordException
MethodParameters:
Name Flags
ctx
in
private void decodeNonJdkCompatible(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
aload 2
aload 2
invokevirtual io.netty.buffer.ByteBuf.readerIndex:()I
aload 2
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
invokevirtual io.netty.handler.ssl.SslHandler.unwrap:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;II)I
invokevirtual io.netty.buffer.ByteBuf.skipBytes:(I)Lio/netty/buffer/ByteBuf;
pop
1: goto 4
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 3
start local 3 3: aload 0
aload 1
aload 3
invokevirtual io.netty.handler.ssl.SslHandler.handleUnwrapThrowable:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
end local 3 4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/ssl/SslHandler;
0 5 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 5 2 in Lio/netty/buffer/ByteBuf;
3 4 3 cause Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
in
private void handleUnwrapThrowable(io.netty.channel.ChannelHandlerContext, java.lang.Throwable);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
aload 2
invokeinterface io.netty.util.concurrent.Promise.tryFailure:(Ljava/lang/Throwable;)Z
ifeq 2
1: aload 1
new io.netty.handler.ssl.SslHandshakeCompletionEvent
dup
aload 2
invokespecial io.netty.handler.ssl.SslHandshakeCompletionEvent.<init>:(Ljava/lang/Throwable;)V
invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.wrapAndFlush:(Lio/netty/channel/ChannelHandlerContext;)V
3: goto 12
StackMap locals:
StackMap stack: javax.net.ssl.SSLException
4: astore 3
start local 3 5: getstatic io.netty.handler.ssl.SslHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "SSLException during trying to call SSLEngine.wrap(...) because of an previous SSLException, ignoring..."
6: aload 3
7: invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 8: aload 0
aload 1
aload 2
iconst_1
iconst_0
iconst_1
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeFailure:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;ZZZ)V
goto 13
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
10: aload 0
aload 1
aload 2
iconst_1
iconst_0
iconst_1
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeFailure:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;ZZZ)V
11: aload 4
athrow
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
iconst_1
iconst_0
iconst_1
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeFailure:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;ZZZ)V
13: StackMap locals:
StackMap stack:
aload 2
invokestatic io.netty.util.internal.PlatformDependent.throwException:(Ljava/lang/Throwable;)V
14: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/netty/handler/ssl/SslHandler;
0 15 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 15 2 cause Ljava/lang/Throwable;
5 8 3 ex Ljavax/net/ssl/SSLException;
Exception table:
from to target type
0 3 4 Class javax.net.ssl.SSLException
0 8 9 any
MethodParameters:
Name Flags
ctx
cause
protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List<java.lang.Object>);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.netty.handler.ssl.SslHandler.jdkCompatibilityMode:Z
ifeq 3
1: aload 0
aload 1
aload 2
invokevirtual io.netty.handler.ssl.SslHandler.decodeJdkCompatible:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual io.netty.handler.ssl.SslHandler.decodeNonJdkCompatible:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;)V
4: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/ssl/SslHandler;
0 5 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 5 2 in Lio/netty/buffer/ByteBuf;
0 5 3 out Ljava/util/List<Ljava/lang/Object;>;
Exceptions:
throws javax.net.ssl.SSLException
Signature: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;Ljava/util/List<Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
ctx
in
out
public void channelReadComplete(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.netty.handler.ssl.SslHandler.discardSomeReadBytes:()V
1: aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.flushIfNeeded:(Lio/netty/channel/ChannelHandlerContext;)V
2: aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.readIfNeeded:(Lio/netty/channel/ChannelHandlerContext;)V
3: aload 0
iconst_0
putfield io.netty.handler.ssl.SslHandler.firedChannelRead:Z
4: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelReadComplete:()Lio/netty/channel/ChannelHandlerContext;
pop
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/ssl/SslHandler;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
private void readIfNeeded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.config:()Lio/netty/channel/ChannelConfig;
invokeinterface io.netty.channel.ChannelConfig.isAutoRead:()Z
ifne 2
aload 0
getfield io.netty.handler.ssl.SslHandler.firedChannelRead:Z
ifeq 1
aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
invokeinterface io.netty.util.concurrent.Promise.isDone:()Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.read:()Lio/netty/channel/ChannelHandlerContext;
pop
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/ssl/SslHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
private void flushIfNeeded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.ssl.SslHandler.needsFlush:Z
ifeq 2
1: aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.forceFlush:(Lio/netty/channel/ChannelHandlerContext;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/ssl/SslHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
private void unwrapNonAppData(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
iconst_0
iconst_0
invokevirtual io.netty.handler.ssl.SslHandler.unwrap:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;II)I
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
ctx
private int unwrap(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, int, int);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/buffer/ByteBuf;II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=19, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 4
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: iconst_m1
istore 8
start local 8 4: aload 0
aload 1
iload 4
invokevirtual io.netty.handler.ssl.SslHandler.allocate:(Lio/netty/channel/ChannelHandlerContext;I)Lio/netty/buffer/ByteBuf;
astore 9
start local 9 5: goto 61
6: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf int int int int int int io.netty.buffer.ByteBuf
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.engineType:Lio/netty/handler/ssl/SslHandler$SslEngineType;
aload 0
aload 2
iload 3
iload 4
aload 9
invokevirtual io.netty.handler.ssl.SslHandler$SslEngineType.unwrap:(Lio/netty/handler/ssl/SslHandler;Lio/netty/buffer/ByteBuf;IILio/netty/buffer/ByteBuf;)Ljavax/net/ssl/SSLEngineResult;
astore 10
start local 10 7: aload 10
invokevirtual javax.net.ssl.SSLEngineResult.getStatus:()Ljavax/net/ssl/SSLEngineResult$Status;
astore 11
start local 11 8: aload 10
invokevirtual javax.net.ssl.SSLEngineResult.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
astore 12
start local 12 9: aload 10
invokevirtual javax.net.ssl.SSLEngineResult.bytesProduced:()I
istore 13
start local 13 10: aload 10
invokevirtual javax.net.ssl.SSLEngineResult.bytesConsumed:()I
istore 14
start local 14 11: iload 3
iload 14
iadd
istore 3
12: iload 4
iload 14
isub
istore 4
13: invokestatic io.netty.handler.ssl.SslHandler.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:()[I
aload 11
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iaload
tableswitch { // 2 - 4
2: 14
3: 37
4: 34
default: 37
}
14: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf int int int int int int io.netty.buffer.ByteBuf javax.net.ssl.SSLEngineResult javax.net.ssl.SSLEngineResult$Status javax.net.ssl.SSLEngineResult$HandshakeStatus int int
StackMap stack:
aload 9
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 15
start local 15 15: iload 8
istore 16
start local 16 16: iload 15
istore 8
17: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
iload 15
isub
istore 17
start local 17 18: iload 15
ifle 25
19: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.firedChannelRead:Z
20: aload 1
aload 9
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
21: aconst_null
astore 9
22: iload 17
ifgt 27
23: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
istore 17
24: goto 27
25: StackMap locals: int int int
StackMap stack:
aload 9
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
26: aconst_null
astore 9
27: StackMap locals:
StackMap stack:
iload 15
ifne 32
iload 16
ifne 32
28: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Two consecutive overflows but no content was consumed. "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
29: ldc Ljavax/net/ssl/SSLSession;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " getApplicationBufferSize: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
30: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getApplicationBufferSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " maybe too small."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield io.netty.handler.ssl.SslHandler.engineType:Lio/netty/handler/ssl/SslHandler$SslEngineType;
aload 0
iload 17
invokevirtual io.netty.handler.ssl.SslHandler$SslEngineType.calculatePendingData:(Lio/netty/handler/ssl/SslHandler;I)I
invokevirtual io.netty.handler.ssl.SslHandler.allocate:(Lio/netty/channel/ChannelHandlerContext;I)Lio/netty/buffer/ByteBuf;
astore 9
33: goto 61
end local 17 end local 16 end local 15 34: StackMap locals:
StackMap stack:
iconst_1
istore 7
35: iconst_m1
istore 8
36: goto 38
37: StackMap locals:
StackMap stack:
iconst_m1
istore 8
38: StackMap locals:
StackMap stack:
invokestatic io.netty.handler.ssl.SslHandler.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$HandshakeStatus:()[I
39: aload 12
invokevirtual javax.net.ssl.SSLEngineResult$HandshakeStatus.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 48
2: 45
3: 43
4: 41
5: 40
default: 56
}
40: StackMap locals:
StackMap stack:
goto 57
41: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_1
invokevirtual io.netty.handler.ssl.SslHandler.wrapNonAppData:(Lio/netty/channel/ChannelHandlerContext;Z)Z
ifeq 57
iload 4
ifne 57
42: goto 62
43: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.ssl.SslHandler.runDelegatedTasks:()V
44: goto 57
45: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeSuccess:()V
46: iconst_1
istore 6
47: goto 57
48: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeSuccessIfStillHandshaking:()Z
ifeq 51
49: iconst_1
istore 6
50: goto 61
51: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.flushedBeforeHandshake:Z
ifeq 54
52: aload 0
iconst_0
putfield io.netty.handler.ssl.SslHandler.flushedBeforeHandshake:Z
53: iconst_1
istore 6
54: StackMap locals:
StackMap stack:
iload 4
ifne 57
55: goto 62
56: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "unknown handshake status: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
57: StackMap locals:
StackMap stack:
aload 11
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
if_acmpeq 58
iload 14
ifne 61
iload 13
ifne 61
58: StackMap locals:
StackMap stack:
aload 12
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NEED_UNWRAP:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpne 62
59: aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.readIfNeeded:(Lio/netty/channel/ChannelHandlerContext;)V
60: goto 62
end local 14 end local 13 end local 12 end local 11 end local 10 61: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf int int int int int int io.netty.buffer.ByteBuf
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.isRemoved:()Z
ifeq 6
62: StackMap locals:
StackMap stack:
iload 6
ifeq 64
63: aload 0
aload 1
iconst_1
invokevirtual io.netty.handler.ssl.SslHandler.wrap:(Lio/netty/channel/ChannelHandlerContext;Z)V
64: StackMap locals:
StackMap stack:
iload 7
ifeq 75
65: aload 0
aconst_null
invokevirtual io.netty.handler.ssl.SslHandler.notifyClosePromise:(Ljava/lang/Throwable;)V
66: goto 75
StackMap locals:
StackMap stack: java.lang.Throwable
67: astore 18
68: aload 9
ifnull 74
69: aload 9
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 73
70: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.firedChannelRead:Z
71: aload 1
aload 9
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
72: goto 74
73: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf int int int int int int io.netty.buffer.ByteBuf top top top top top top top top java.lang.Throwable
StackMap stack:
aload 9
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
74: StackMap locals:
StackMap stack:
aload 18
athrow
75: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext io.netty.buffer.ByteBuf int int int int int int io.netty.buffer.ByteBuf
StackMap stack:
aload 9
ifnull 81
76: aload 9
invokevirtual io.netty.buffer.ByteBuf.isReadable:()Z
ifeq 80
77: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.firedChannelRead:Z
78: aload 1
aload 9
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelRead:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
79: goto 81
80: StackMap locals:
StackMap stack:
aload 9
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
81: StackMap locals:
StackMap stack:
iload 5
iload 4
isub
ireturn
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 82 0 this Lio/netty/handler/ssl/SslHandler;
0 82 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 82 2 packet Lio/netty/buffer/ByteBuf;
0 82 3 offset I
0 82 4 length I
1 82 5 originalLength I
2 82 6 wrapLater Z
3 82 7 notifyClosure Z
4 82 8 overflowReadableBytes I
5 82 9 decodeOut Lio/netty/buffer/ByteBuf;
7 61 10 result Ljavax/net/ssl/SSLEngineResult;
8 61 11 status Ljavax/net/ssl/SSLEngineResult$Status;
9 61 12 handshakeStatus Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
10 61 13 produced I
11 61 14 consumed I
15 34 15 readableBytes I
16 34 16 previousOverflowReadableBytes I
18 34 17 bufferSize I
Exception table:
from to target type
5 67 67 any
Exceptions:
throws javax.net.ssl.SSLException
MethodParameters:
Name Flags
ctx
packet
offset
length
private static java.nio.ByteBuffer toByteBuffer(io.netty.buffer.ByteBuf, int, int);
descriptor: (Lio/netty/buffer/ByteBuf;II)Ljava/nio/ByteBuffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual io.netty.buffer.ByteBuf.nioBufferCount:()I
iconst_1
if_icmpne 1
aload 0
iload 1
iload 2
invokevirtual io.netty.buffer.ByteBuf.internalNioBuffer:(II)Ljava/nio/ByteBuffer;
goto 2
1: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual io.netty.buffer.ByteBuf.nioBuffer:(II)Ljava/nio/ByteBuffer;
2: StackMap locals:
StackMap stack: java.nio.ByteBuffer
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 out Lio/netty/buffer/ByteBuf;
0 3 1 index I
0 3 2 len I
MethodParameters:
Name Flags
out
index
len
private void runDelegatedTasks();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.SslHandler.delegatedTaskExecutor:Ljava/util/concurrent/Executor;
getstatic io.netty.util.concurrent.ImmediateExecutor.INSTANCE:Lio/netty/util/concurrent/ImmediateExecutor;
if_acmpne 6
1: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: goto 25
4: StackMap locals: java.lang.Runnable
StackMap stack:
aload 1
invokeinterface java.lang.Runnable.run:()V
end local 1 5: goto 1
6: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 7: StackMap locals: java.util.List
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getDelegatedTask:()Ljava/lang/Runnable;
astore 2
start local 2 8: aload 2
ifnonnull 10
9: goto 12
10: StackMap locals: java.lang.Runnable
StackMap stack:
aload 1
aload 2
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 11: goto 7
12: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.List.isEmpty:()Z
ifeq 14
13: return
14: StackMap locals:
StackMap stack:
new java.util.concurrent.CountDownLatch
dup
iconst_1
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
astore 2
start local 2 15: aload 0
getfield io.netty.handler.ssl.SslHandler.delegatedTaskExecutor:Ljava/util/concurrent/Executor;
new io.netty.handler.ssl.SslHandler$2
dup
aload 0
aload 2
aload 1
invokespecial io.netty.handler.ssl.SslHandler$2.<init>:(Lio/netty/handler/ssl/SslHandler;Ljava/util/concurrent/CountDownLatch;Ljava/util/List;)V
invokeinterface java.util.concurrent.Executor.execute:(Ljava/lang/Runnable;)V
16: iconst_0
istore 3
start local 3 17: goto 22
18: StackMap locals: java.util.concurrent.CountDownLatch int
StackMap stack:
aload 2
invokevirtual java.util.concurrent.CountDownLatch.await:()V
19: goto 22
StackMap locals:
StackMap stack: java.lang.InterruptedException
20: pop
21: iconst_1
istore 3
22: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.util.concurrent.CountDownLatch.getCount:()J
lconst_0
lcmp
ifne 18
23: iload 3
ifeq 25
24: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
end local 3 end local 2 end local 1 25: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lio/netty/handler/ssl/SslHandler;
2 5 1 task Ljava/lang/Runnable;
7 25 1 tasks Ljava/util/List<Ljava/lang/Runnable;>;
8 11 2 task Ljava/lang/Runnable;
15 25 2 latch Ljava/util/concurrent/CountDownLatch;
17 25 3 interrupted Z
Exception table:
from to target type
18 19 20 Class java.lang.InterruptedException
private boolean setHandshakeSuccessIfStillHandshaking();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
invokeinterface io.netty.util.concurrent.Promise.isDone:()Z
ifne 3
1: aload 0
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeSuccess:()V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/ssl/SslHandler;
private void setHandshakeSuccess();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.util.concurrent.Promise.trySuccess:(Ljava/lang/Object;)Z
pop
1: getstatic io.netty.handler.ssl.SslHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 3
2: getstatic io.netty.handler.ssl.SslHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "{} HANDSHAKEN: {}"
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getSession:()Ljavax/net/ssl/SSLSession;
invokeinterface javax.net.ssl.SSLSession.getCipherSuite:()Ljava/lang/String;
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
getstatic io.netty.handler.ssl.SslHandshakeCompletionEvent.SUCCESS:Lio/netty/handler/ssl/SslHandshakeCompletionEvent;
invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
4: aload 0
getfield io.netty.handler.ssl.SslHandler.readDuringHandshake:Z
ifeq 7
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.config:()Lio/netty/channel/ChannelConfig;
invokeinterface io.netty.channel.ChannelConfig.isAutoRead:()Z
ifne 7
5: aload 0
iconst_0
putfield io.netty.handler.ssl.SslHandler.readDuringHandshake:Z
6: aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.read:()Lio/netty/channel/ChannelHandlerContext;
pop
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/handler/ssl/SslHandler;
private void setHandshakeFailure(io.netty.channel.ChannelHandlerContext, java.lang.Throwable);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_1
iconst_1
iconst_0
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeFailure:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;ZZZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/handler/ssl/SslHandler;
0 2 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 2 2 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
ctx
cause
private void setHandshakeFailure(io.netty.channel.ChannelHandlerContext, java.lang.Throwable, boolean, boolean, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;ZZZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.outboundClosed:Z
1: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.closeOutbound:()V
2: iload 3
ifeq 10
3: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.closeInbound:()V
4: goto 10
StackMap locals:
StackMap stack: javax.net.ssl.SSLException
5: astore 6
start local 6 6: getstatic io.netty.handler.ssl.SslHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
invokeinterface io.netty.util.internal.logging.InternalLogger.isDebugEnabled:()Z
ifeq 10
7: aload 6
invokevirtual javax.net.ssl.SSLException.getMessage:()Ljava/lang/String;
astore 7
start local 7 8: aload 7
ifnull 9
aload 7
ldc "possible truncation attack"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifne 10
9: StackMap locals: javax.net.ssl.SSLException java.lang.String
StackMap stack:
getstatic io.netty.handler.ssl.SslHandler.logger:Lio/netty/util/internal/logging/InternalLogger;
ldc "{} SSLEngine.closeInbound() raised an exception."
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
aload 6
invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 7 end local 6 10: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
aload 2
invokeinterface io.netty.util.concurrent.Promise.tryFailure:(Ljava/lang/Throwable;)Z
ifne 11
iload 5
ifeq 16
11: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 4
invokestatic io.netty.handler.ssl.SslUtils.handleHandshakeFailure:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;Z)V
12: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 8
14: aload 0
aload 2
invokevirtual io.netty.handler.ssl.SslHandler.releaseAndFailAll:(Ljava/lang/Throwable;)V
15: aload 8
athrow
16: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.netty.handler.ssl.SslHandler.releaseAndFailAll:(Ljava/lang/Throwable;)V
17: 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 18 0 this Lio/netty/handler/ssl/SslHandler;
0 18 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 18 2 cause Ljava/lang/Throwable;
0 18 3 closeInbound Z
0 18 4 notify Z
0 18 5 alwaysFlushAndClose Z
6 10 6 e Ljavax/net/ssl/SSLException;
8 10 7 msg Ljava/lang/String;
Exception table:
from to target type
3 4 5 Class javax.net.ssl.SSLException
0 13 13 any
MethodParameters:
Name Flags
ctx
cause
closeInbound
notify
alwaysFlushAndClose
private void releaseAndFailAll(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
ifnull 2
1: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
aload 1
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.releaseAndFailAll:(Lio/netty/channel/ChannelOutboundInvoker;Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/ssl/SslHandler;
0 3 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
private void notifyClosePromise(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 4
1: aload 0
getfield io.netty.handler.ssl.SslHandler.sslClosePromise:Lio/netty/handler/ssl/SslHandler$LazyChannelPromise;
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokevirtual io.netty.handler.ssl.SslHandler$LazyChannelPromise.trySuccess:(Ljava/lang/Object;)Z
ifeq 6
2: aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
getstatic io.netty.handler.ssl.SslCloseCompletionEvent.SUCCESS:Lio/netty/handler/ssl/SslCloseCompletionEvent;
invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
3: goto 6
4: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.sslClosePromise:Lio/netty/handler/ssl/SslHandler$LazyChannelPromise;
aload 1
invokevirtual io.netty.handler.ssl.SslHandler$LazyChannelPromise.tryFailure:(Ljava/lang/Throwable;)Z
ifeq 6
5: aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
new io.netty.handler.ssl.SslCloseCompletionEvent
dup
aload 1
invokespecial io.netty.handler.ssl.SslCloseCompletionEvent.<init>:(Ljava/lang/Throwable;)V
invokeinterface io.netty.channel.ChannelHandlerContext.fireUserEventTriggered:(Ljava/lang/Object;)Lio/netty/channel/ChannelHandlerContext;
pop
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/netty/handler/ssl/SslHandler;
0 7 1 cause Ljava/lang/Throwable;
MethodParameters:
Name Flags
cause
private void closeOutboundAndChannel(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise, boolean);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.outboundClosed:Z
1: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.closeOutbound:()V
2: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isActive:()Z
ifne 8
3: iload 3
ifeq 6
4: aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.disconnect:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.close:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
7: StackMap locals:
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
astore 4
start local 4 9: aload 0
aload 1
aload 4
invokevirtual io.netty.handler.ssl.SslHandler.flush:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
10: goto 20
StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext io.netty.channel.ChannelPromise int io.netty.channel.ChannelPromise
StackMap stack: java.lang.Throwable
11: astore 5
12: aload 0
getfield io.netty.handler.ssl.SslHandler.closeNotify:Z
ifne 18
13: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.closeNotify:Z
14: aload 0
aload 1
aload 4
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
15: new io.netty.channel.ChannelPromiseNotifier
dup
iconst_0
iconst_1
anewarray io.netty.channel.ChannelPromise
dup
iconst_0
aload 2
aastore
invokespecial io.netty.channel.ChannelPromiseNotifier.<init>:(Z[Lio/netty/channel/ChannelPromise;)V
16: invokeinterface io.netty.channel.ChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelPromise;
invokevirtual io.netty.handler.ssl.SslHandler.safeClose:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
17: goto 19
18: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.sslClosePromise:Lio/netty/handler/ssl/SslHandler$LazyChannelPromise;
new io.netty.handler.ssl.SslHandler$3
dup
aload 0
aload 2
invokespecial io.netty.handler.ssl.SslHandler$3.<init>:(Lio/netty/handler/ssl/SslHandler;Lio/netty/channel/ChannelPromise;)V
invokevirtual io.netty.handler.ssl.SslHandler$LazyChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Promise;
pop
19: StackMap locals:
StackMap stack:
aload 5
athrow
20: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.closeNotify:Z
ifne 26
21: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.closeNotify:Z
22: aload 0
aload 1
aload 4
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.newPromise:()Lio/netty/channel/ChannelPromise;
23: new io.netty.channel.ChannelPromiseNotifier
dup
iconst_0
iconst_1
anewarray io.netty.channel.ChannelPromise
dup
iconst_0
aload 2
aastore
invokespecial io.netty.channel.ChannelPromiseNotifier.<init>:(Z[Lio/netty/channel/ChannelPromise;)V
24: invokeinterface io.netty.channel.ChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelPromise;
invokevirtual io.netty.handler.ssl.SslHandler.safeClose:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
25: goto 27
26: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.sslClosePromise:Lio/netty/handler/ssl/SslHandler$LazyChannelPromise;
new io.netty.handler.ssl.SslHandler$3
dup
aload 0
aload 2
invokespecial io.netty.handler.ssl.SslHandler$3.<init>:(Lio/netty/handler/ssl/SslHandler;Lio/netty/channel/ChannelPromise;)V
invokevirtual io.netty.handler.ssl.SslHandler$LazyChannelPromise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Promise;
pop
27: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lio/netty/handler/ssl/SslHandler;
0 28 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 28 2 promise Lio/netty/channel/ChannelPromise;
0 28 3 disconnect Z
9 28 4 closeNotifyPromise Lio/netty/channel/ChannelPromise;
Exception table:
from to target type
9 11 11 any
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx final
promise final
disconnect
private void flush(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
ifnull 3
1: aload 0
getfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
getstatic io.netty.buffer.Unpooled.EMPTY_BUFFER:Lio/netty/buffer/ByteBuf;
aload 2
invokevirtual io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.add:(Lio/netty/buffer/ByteBuf;Lio/netty/channel/ChannelPromise;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 2
invokestatic io.netty.handler.ssl.SslHandler.newPendingWritesNullException:()Ljava/lang/IllegalStateException;
invokeinterface io.netty.channel.ChannelPromise.setFailure:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelPromise;
pop
4: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.flush:(Lio/netty/channel/ChannelHandlerContext;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/ssl/SslHandler;
0 6 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 6 2 promise Lio/netty/channel/ChannelPromise;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx
promise
public void handlerAdded(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
1: aload 0
new io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue
dup
aload 0
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
bipush 16
invokespecial io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue.<init>:(Lio/netty/handler/ssl/SslHandler;Lio/netty/channel/Channel;I)V
putfield io.netty.handler.ssl.SslHandler.pendingUnencryptedWrites:Lio/netty/handler/ssl/SslHandler$SslHandlerCoalescingBufferQueue;
2: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isActive:()Z
ifeq 4
3: aload 0
invokevirtual io.netty.handler.ssl.SslHandler.startHandshakeProcessing:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/netty/handler/ssl/SslHandler;
0 5 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx final
private void startHandshakeProcessing();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield io.netty.handler.ssl.SslHandler.handshakeStarted:Z
1: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getUseClientMode:()Z
ifeq 4
2: aload 0
aconst_null
invokevirtual io.netty.handler.ssl.SslHandler.handshake:(Lio/netty/util/concurrent/Promise;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual io.netty.handler.ssl.SslHandler.applyHandshakeTimeout:(Lio/netty/util/concurrent/Promise;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/handler/ssl/SslHandler;
public io.netty.util.concurrent.Future<io.netty.channel.Channel> renegotiate();
descriptor: ()Lio/netty/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
3: StackMap locals: io.netty.channel.ChannelHandlerContext
StackMap stack:
aload 0
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
invokeinterface io.netty.util.concurrent.EventExecutor.newPromise:()Lio/netty/util/concurrent/Promise;
invokevirtual io.netty.handler.ssl.SslHandler.renegotiate:(Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/ssl/SslHandler;
1 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
Signature: ()Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
public io.netty.util.concurrent.Future<io.netty.channel.Channel> renegotiate(io.netty.util.concurrent.Promise<io.netty.channel.Channel>);
descriptor: (Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "promise"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
astore 2
start local 2 3: aload 2
ifnonnull 5
4: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
5: StackMap locals: io.netty.channel.ChannelHandlerContext
StackMap stack:
aload 2
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
astore 3
start local 3 6: aload 3
invokeinterface io.netty.util.concurrent.EventExecutor.inEventLoop:()Z
ifne 9
7: aload 3
new io.netty.handler.ssl.SslHandler$4
dup
aload 0
aload 1
invokespecial io.netty.handler.ssl.SslHandler$4.<init>:(Lio/netty/handler/ssl/SslHandler;Lio/netty/util/concurrent/Promise;)V
invokeinterface io.netty.util.concurrent.EventExecutor.execute:(Ljava/lang/Runnable;)V
8: aload 1
areturn
9: StackMap locals: io.netty.util.concurrent.EventExecutor
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.handler.ssl.SslHandler.handshake:(Lio/netty/util/concurrent/Promise;)V
10: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/ssl/SslHandler;
0 11 1 promise Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
3 11 2 ctx Lio/netty/channel/ChannelHandlerContext;
6 11 3 executor Lio/netty/util/concurrent/EventExecutor;
Signature: (Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;
MethodParameters:
Name Flags
promise final
private void handshake(io.netty.util.concurrent.Promise<io.netty.channel.Channel>);
descriptor: (Lio/netty/util/concurrent/Promise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnull 8
1: aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
astore 3
start local 3 2: aload 3
invokeinterface io.netty.util.concurrent.Promise.isDone:()Z
ifne 5
3: aload 3
new io.netty.handler.ssl.SslHandler$5
dup
aload 0
aload 1
invokespecial io.netty.handler.ssl.SslHandler$5.<init>:(Lio/netty/handler/ssl/SslHandler;Lio/netty/util/concurrent/Promise;)V
invokeinterface io.netty.util.concurrent.Promise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Promise;
pop
4: return
5: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.util.concurrent.Promise top io.netty.util.concurrent.Promise
StackMap stack:
aload 0
aload 1
dup
astore 2
start local 2 6: putfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
end local 3 7: goto 12
end local 2 StackMap locals: io.netty.handler.ssl.SslHandler io.netty.util.concurrent.Promise
StackMap stack:
8: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.getHandshakeStatus:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
getstatic javax.net.ssl.SSLEngineResult$HandshakeStatus.NOT_HANDSHAKING:Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
if_acmpeq 10
9: return
10: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
astore 2
start local 2 11: getstatic io.netty.handler.ssl.SslHandler.$assertionsDisabled:Z
ifne 12
aload 2
invokeinterface io.netty.util.concurrent.Promise.isDone:()Z
ifeq 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals: io.netty.util.concurrent.Promise
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
astore 3
start local 3 13: aload 0
getfield io.netty.handler.ssl.SslHandler.engine:Ljavax/net/ssl/SSLEngine;
invokevirtual javax.net.ssl.SSLEngine.beginHandshake:()V
14: aload 0
aload 3
iconst_0
invokevirtual io.netty.handler.ssl.SslHandler.wrapNonAppData:(Lio/netty/channel/ChannelHandlerContext;Z)Z
pop
15: goto 22
StackMap locals: io.netty.handler.ssl.SslHandler io.netty.util.concurrent.Promise io.netty.util.concurrent.Promise io.netty.channel.ChannelHandlerContext
StackMap stack: java.lang.Throwable
16: astore 4
start local 4 17: aload 0
aload 3
aload 4
invokevirtual io.netty.handler.ssl.SslHandler.setHandshakeFailure:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Throwable;)V
end local 4 18: aload 0
aload 3
invokevirtual io.netty.handler.ssl.SslHandler.forceFlush:(Lio/netty/channel/ChannelHandlerContext;)V
goto 23
19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
20: aload 0
aload 3
invokevirtual io.netty.handler.ssl.SslHandler.forceFlush:(Lio/netty/channel/ChannelHandlerContext;)V
21: aload 5
athrow
22: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual io.netty.handler.ssl.SslHandler.forceFlush:(Lio/netty/channel/ChannelHandlerContext;)V
23: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual io.netty.handler.ssl.SslHandler.applyHandshakeTimeout:(Lio/netty/util/concurrent/Promise;)V
24: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lio/netty/handler/ssl/SslHandler;
0 25 1 newHandshakePromise Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
6 8 2 p Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
11 25 2 p Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
2 7 3 oldHandshakePromise Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
13 25 3 ctx Lio/netty/channel/ChannelHandlerContext;
17 18 4 e Ljava/lang/Throwable;
Exception table:
from to target type
13 15 16 Class java.lang.Throwable
13 18 19 any
Signature: (Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;)V
MethodParameters:
Name Flags
newHandshakePromise final
private void applyHandshakeTimeout(io.netty.util.concurrent.Promise<io.netty.channel.Channel>);
descriptor: (Lio/netty/util/concurrent/Promise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aload 0
getfield io.netty.handler.ssl.SslHandler.handshakePromise:Lio/netty/util/concurrent/Promise;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: io.netty.util.concurrent.Promise
2: astore 2
start local 2 3: aload 0
getfield io.netty.handler.ssl.SslHandler.handshakeTimeoutMillis:J
lstore 3
start local 3 4: lload 3
lconst_0
lcmp
ifle 5
aload 2
invokeinterface io.netty.util.concurrent.Promise.isDone:()Z
ifeq 6
5: StackMap locals: io.netty.util.concurrent.Promise long
StackMap stack:
return
6: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.handler.ssl.SslHandler.ctx:Lio/netty/channel/ChannelHandlerContext;
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
new io.netty.handler.ssl.SslHandler$6
dup
aload 0
aload 2
invokespecial io.netty.handler.ssl.SslHandler$6.<init>:(Lio/netty/handler/ssl/SslHandler;Lio/netty/util/concurrent/Promise;)V
7: lload 3
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
8: invokeinterface io.netty.util.concurrent.EventExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/ScheduledFuture;
astore 5
start local 5 9: aload 2
new io.netty.handler.ssl.SslHandler$7
dup
aload 0
aload 5
invokespecial io.netty.handler.ssl.SslHandler$7.<init>:(Lio/netty/handler/ssl/SslHandler;Ljava/util/concurrent/ScheduledFuture;)V
invokeinterface io.netty.util.concurrent.Promise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Promise;
pop
10: return
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/netty/handler/ssl/SslHandler;
0 11 1 p Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
3 11 2 promise Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;
4 11 3 handshakeTimeoutMillis J
9 11 5 timeoutFuture Ljava/util/concurrent/ScheduledFuture<*>;
Signature: (Lio/netty/util/concurrent/Promise<Lio/netty/channel/Channel;>;)V
MethodParameters:
Name Flags
p
private void forceFlush(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield io.netty.handler.ssl.SslHandler.needsFlush:Z
1: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.flush:()Lio/netty/channel/ChannelHandlerContext;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/handler/ssl/SslHandler;
0 3 1 ctx Lio/netty/channel/ChannelHandlerContext;
MethodParameters:
Name Flags
ctx
public void channelActive(io.netty.channel.ChannelHandlerContext);
descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.handler.ssl.SslHandler.startTls:Z
ifne 2
1: aload 0
invokevirtual io.netty.handler.ssl.SslHandler.startHandshakeProcessing:()V
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.fireChannelActive:()Lio/netty/channel/ChannelHandlerContext;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/ssl/SslHandler;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
ctx final
private void safeClose(io.netty.channel.ChannelHandlerContext, io.netty.channel.ChannelFuture, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.isActive:()Z
ifne 3
1: aload 1
aload 3
invokeinterface io.netty.channel.ChannelHandlerContext.close:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
pop
2: return
3: StackMap locals:
StackMap stack:
aload 2
invokeinterface io.netty.channel.ChannelFuture.isDone:()Z
ifne 12
4: aload 0
getfield io.netty.handler.ssl.SslHandler.closeNotifyFlushTimeoutMillis:J
lstore 5
start local 5 5: lload 5
lconst_0
lcmp
ifle 10
6: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.executor:()Lio/netty/util/concurrent/EventExecutor;
new io.netty.handler.ssl.SslHandler$8
dup
aload 0
aload 2
aload 1
aload 3
invokespecial io.netty.handler.ssl.SslHandler$8.<init>:(Lio/netty/handler/ssl/SslHandler;Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
7: lload 5
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
8: invokeinterface io.netty.util.concurrent.EventExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lio/netty/util/concurrent/ScheduledFuture;
astore 4
start local 4 9: goto 13
end local 4 10: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext io.netty.channel.ChannelFuture io.netty.channel.ChannelPromise top long
StackMap stack:
aconst_null
astore 4
end local 5 start local 4 11: goto 13
end local 4 12: StackMap locals: io.netty.handler.ssl.SslHandler io.netty.channel.ChannelHandlerContext io.netty.channel.ChannelFuture io.netty.channel.ChannelPromise
StackMap stack:
aconst_null
astore 4
start local 4 13: StackMap locals: java.util.concurrent.ScheduledFuture
StackMap stack:
aload 2
new io.netty.handler.ssl.SslHandler$9
dup
aload 0
aload 4
aload 1
aload 3
invokespecial io.netty.handler.ssl.SslHandler$9.<init>:(Lio/netty/handler/ssl/SslHandler;Ljava/util/concurrent/ScheduledFuture;Lio/netty/channel/ChannelHandlerContext;Lio/netty/channel/ChannelPromise;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
14: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lio/netty/handler/ssl/SslHandler;
0 15 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 15 2 flushFuture Lio/netty/channel/ChannelFuture;
0 15 3 promise Lio/netty/channel/ChannelPromise;
9 10 4 timeoutFuture Ljava/util/concurrent/ScheduledFuture<*>;
11 12 4 timeoutFuture Ljava/util/concurrent/ScheduledFuture<*>;
13 15 4 timeoutFuture Ljava/util/concurrent/ScheduledFuture<*>;
5 11 5 closeNotifyTimeout J
MethodParameters:
Name Flags
ctx final
flushFuture final
promise final
private static void addCloseListener(io.netty.channel.ChannelFuture, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelFuture;Lio/netty/channel/ChannelPromise;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new io.netty.channel.ChannelPromiseNotifier
dup
iconst_0
iconst_1
anewarray io.netty.channel.ChannelPromise
dup
iconst_0
aload 1
aastore
invokespecial io.netty.channel.ChannelPromiseNotifier.<init>:(Z[Lio/netty/channel/ChannelPromise;)V
invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 future Lio/netty/channel/ChannelFuture;
0 2 1 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
future
promise
private io.netty.buffer.ByteBuf allocate(io.netty.channel.ChannelHandlerContext, int);
descriptor: (Lio/netty/channel/ChannelHandlerContext;I)Lio/netty/buffer/ByteBuf;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.alloc:()Lio/netty/buffer/ByteBufAllocator;
astore 3
start local 3 1: aload 0
getfield io.netty.handler.ssl.SslHandler.engineType:Lio/netty/handler/ssl/SslHandler$SslEngineType;
getfield io.netty.handler.ssl.SslHandler$SslEngineType.wantsDirectBuffer:Z
ifeq 3
2: aload 3
iload 2
invokeinterface io.netty.buffer.ByteBufAllocator.directBuffer:(I)Lio/netty/buffer/ByteBuf;
areturn
3: StackMap locals: io.netty.buffer.ByteBufAllocator
StackMap stack:
aload 3
iload 2
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/ssl/SslHandler;
0 4 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 4 2 capacity I
1 4 3 alloc Lio/netty/buffer/ByteBufAllocator;
MethodParameters:
Name Flags
ctx
capacity
private io.netty.buffer.ByteBuf allocateOutNetBuf(io.netty.channel.ChannelHandlerContext, int, int);
descriptor: (Lio/netty/channel/ChannelHandlerContext;II)Lio/netty/buffer/ByteBuf;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 0
getfield io.netty.handler.ssl.SslHandler.engineType:Lio/netty/handler/ssl/SslHandler$SslEngineType;
aload 0
iload 2
iload 3
invokevirtual io.netty.handler.ssl.SslHandler$SslEngineType.calculateWrapBufferCapacity:(Lio/netty/handler/ssl/SslHandler;II)I
invokevirtual io.netty.handler.ssl.SslHandler.allocate:(Lio/netty/channel/ChannelHandlerContext;I)Lio/netty/buffer/ByteBuf;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/handler/ssl/SslHandler;
0 1 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 1 2 pendingBytes I
0 1 3 numComponents I
MethodParameters:
Name Flags
ctx
pendingBytes
numComponents
private static boolean attemptCopyToCumulation(io.netty.buffer.ByteBuf, io.netty.buffer.ByteBuf, int);
descriptor: (Lio/netty/buffer/ByteBuf;Lio/netty/buffer/ByteBuf;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
istore 3
start local 3 1: aload 0
invokevirtual io.netty.buffer.ByteBuf.capacity:()I
istore 4
start local 4 2: iload 2
aload 0
invokevirtual io.netty.buffer.ByteBuf.readableBytes:()I
isub
iload 3
if_icmplt 9
3: aload 0
iload 3
invokevirtual io.netty.buffer.ByteBuf.isWritable:(I)Z
ifeq 4
iload 4
iload 2
if_icmpge 6
4: StackMap locals: int int
StackMap stack:
iload 4
iload 2
if_icmpge 9
5: aload 0
iload 3
iconst_0
invokevirtual io.netty.buffer.ByteBuf.ensureWritable:(IZ)I
invokestatic io.netty.buffer.ByteBufUtil.ensureWritableSuccess:(I)Z
ifeq 9
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.buffer.ByteBuf.writeBytes:(Lio/netty/buffer/ByteBuf;)Lio/netty/buffer/ByteBuf;
pop
7: aload 1
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
8: iconst_1
ireturn
9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 cumulation Lio/netty/buffer/ByteBuf;
0 10 1 next Lio/netty/buffer/ByteBuf;
0 10 2 wrapDataSize I
1 10 3 inReadableBytes I
2 10 4 cumulationCapacity I
MethodParameters:
Name Flags
cumulation
next
wrapDataSize
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.netty.handler.ssl.SslHandler.$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.netty.handler.ssl.SslHandler.$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
static int[] $SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic io.netty.handler.ssl.SslHandler.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic javax.net.ssl.SSLEngineResult$Status.values:()[Ljavax/net/ssl/SSLEngineResult$Status;
arraylength
newarray 10
astore 0
2: aload 0
getstatic javax.net.ssl.SSLEngineResult$Status.BUFFER_OVERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.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$Status.BUFFER_UNDERFLOW:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_1
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$Status.CLOSED:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_4
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$Status.OK:Ljavax/net/ssl/SSLEngineResult$Status;
invokevirtual javax.net.ssl.SSLEngineResult$Status.ordinal:()I
iconst_3
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic io.netty.handler.ssl.SslHandler.$SWITCH_TABLE$javax$net$ssl$SSLEngineResult$Status:[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
}
SourceFile: "SslHandler.java"
NestMembers:
io.netty.handler.ssl.SslHandler$1 io.netty.handler.ssl.SslHandler$2 io.netty.handler.ssl.SslHandler$3 io.netty.handler.ssl.SslHandler$4 io.netty.handler.ssl.SslHandler$5 io.netty.handler.ssl.SslHandler$6 io.netty.handler.ssl.SslHandler$7 io.netty.handler.ssl.SslHandler$8 io.netty.handler.ssl.SslHandler$9 io.netty.handler.ssl.SslHandler$9$1 io.netty.handler.ssl.SslHandler$9$2 io.netty.handler.ssl.SslHandler$LazyChannelPromise io.netty.handler.ssl.SslHandler$SslEngineType io.netty.handler.ssl.SslHandler$SslEngineType$1 io.netty.handler.ssl.SslHandler$SslEngineType$2 io.netty.handler.ssl.SslHandler$SslEngineType$3 io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue
InnerClasses:
public abstract Cumulator = io.netty.handler.codec.ByteToMessageDecoder$Cumulator of io.netty.handler.codec.ByteToMessageDecoder
io.netty.handler.ssl.SslHandler$1
io.netty.handler.ssl.SslHandler$2
io.netty.handler.ssl.SslHandler$3
io.netty.handler.ssl.SslHandler$4
io.netty.handler.ssl.SslHandler$5
io.netty.handler.ssl.SslHandler$6
io.netty.handler.ssl.SslHandler$7
io.netty.handler.ssl.SslHandler$8
io.netty.handler.ssl.SslHandler$9
private final LazyChannelPromise = io.netty.handler.ssl.SslHandler$LazyChannelPromise of io.netty.handler.ssl.SslHandler
private abstract SslEngineType = io.netty.handler.ssl.SslHandler$SslEngineType of io.netty.handler.ssl.SslHandler
private final SslHandlerCoalescingBufferQueue = io.netty.handler.ssl.SslHandler$SslHandlerCoalescingBufferQueue of io.netty.handler.ssl.SslHandler
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