final class org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener implements org.xnio.ChannelListener<org.xnio.channels.StreamSourceChannel>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener
super_class: java.lang.Object
{
private final org.xnio.http.HttpUpgradeParser parser;
descriptor: Lorg/xnio/http/HttpUpgradeParser;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.nio.ByteBuffer buffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
final org.xnio.http.HttpUpgrade$HttpUpgradeState this$1;
descriptor: Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(org.xnio.http.HttpUpgrade$HttpUpgradeState);
descriptor: (Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.this$1:Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.xnio.http.HttpUpgradeParser
dup
invokespecial org.xnio.http.HttpUpgradeParser.<init>:()V
putfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
2: aload 0
sipush 1024
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.buffer:Ljava/nio/ByteBuffer;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/xnio/http/HttpUpgrade$HttpUpgradeState$UpgradeResultListener;
MethodParameters:
Name Flags
this$0 final
public void handleEvent(org.xnio.channels.StreamSourceChannel);
descriptor: (Lorg/xnio/channels/StreamSourceChannel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.buffer:Ljava/nio/ByteBuffer;
invokeinterface org.xnio.channels.StreamSourceChannel.read:(Ljava/nio/ByteBuffer;)I
istore 2
start local 2 1: iload 2
ifne 5
2: aload 1
invokeinterface org.xnio.channels.StreamSourceChannel.getReadSetter:()Lorg/xnio/ChannelListener$Setter;
aload 0
invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
3: aload 1
invokeinterface org.xnio.channels.StreamSourceChannel.resumeReads:()V
4: return
5: StackMap locals: int
StackMap stack:
iload 2
iconst_m1
if_icmpne 7
6: getstatic org.xnio._private.Messages.msg:Lorg/xnio/_private/Messages;
invokeinterface org.xnio._private.Messages.connectionClosedEarly:()Ljava/io/EOFException;
athrow
7: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
8: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.buffer:Ljava/nio/ByteBuffer;
invokevirtual org.xnio.http.HttpUpgradeParser.parse:(Ljava/nio/ByteBuffer;)V
9: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgradeParser.isComplete:()Z
ifne 16
10: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
11: goto 16
end local 2 StackMap locals: org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener org.xnio.channels.StreamSourceChannel
StackMap stack: java.io.IOException
12: astore 3
start local 3 13: aload 1
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
14: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.this$1:Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState.future:Lorg/xnio/FutureResult;
aload 3
invokevirtual org.xnio.FutureResult.setException:(Ljava/io/IOException;)Z
pop
15: return
end local 3 start local 2 16: StackMap locals: int
StackMap stack:
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgradeParser.isComplete:()Z
ifeq 0
17: aload 1
invokeinterface org.xnio.channels.StreamSourceChannel.suspendReads:()V
18: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 23
19: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.this$1:Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState.connection:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getConduit:()Lorg/xnio/conduits/StreamSourceConduit;
astore 3
start local 3 20: new org.xnio.conduits.PushBackStreamSourceConduit
dup
aload 3
invokespecial org.xnio.conduits.PushBackStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
astore 4
start local 4 21: aload 4
new org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener$1
dup
aload 0
invokespecial org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener$1.<init>:(Lorg/xnio/http/HttpUpgrade$HttpUpgradeState$UpgradeResultListener;)V
invokevirtual org.xnio.conduits.PushBackStreamSourceConduit.pushBack:(Lorg/xnio/Pooled;)V
22: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.this$1:Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState.connection:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
aload 4
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
end local 4 end local 3 23: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgradeParser.getResponseCode:()I
bipush 101
if_icmpne 26
24: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.this$1:Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgrade$HttpUpgradeState.handleUpgrade:(Lorg/xnio/http/HttpUpgradeParser;)V
25: goto 36
StackMap locals:
StackMap stack:
26: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgradeParser.getResponseCode:()I
sipush 301
if_icmpeq 31
27: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgradeParser.getResponseCode:()I
sipush 302
if_icmpeq 31
28: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgradeParser.getResponseCode:()I
sipush 303
if_icmpeq 31
29: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgradeParser.getResponseCode:()I
sipush 307
if_icmpeq 31
30: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgradeParser.getResponseCode:()I
sipush 308
if_icmpne 34
31: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.this$1:Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState.connection:Lorg/xnio/StreamConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
32: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.this$1:Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgrade$HttpUpgradeState.handleRedirect:(Lorg/xnio/http/HttpUpgradeParser;)V
33: goto 36
34: StackMap locals:
StackMap stack:
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.this$1:Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState.connection:Lorg/xnio/StreamConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
35: aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.this$1:Lorg/xnio/http/HttpUpgrade$HttpUpgradeState;
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState.future:Lorg/xnio/FutureResult;
new org.xnio.http.UpgradeFailedException
dup
new java.lang.StringBuilder
dup
ldc "Invalid response code "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.parser:Lorg/xnio/http/HttpUpgradeParser;
invokevirtual org.xnio.http.HttpUpgradeParser.getResponseCode:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.xnio.http.UpgradeFailedException.<init>:(Ljava/lang/String;)V
invokevirtual org.xnio.FutureResult.setException:(Ljava/io/IOException;)Z
pop
36: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/xnio/http/HttpUpgrade$HttpUpgradeState$UpgradeResultListener;
0 37 1 channel Lorg/xnio/channels/StreamSourceChannel;
1 12 2 r I
16 37 2 r I
13 16 3 e Ljava/io/IOException;
20 23 3 orig Lorg/xnio/conduits/StreamSourceConduit;
21 23 4 pushBack Lorg/xnio/conduits/PushBackStreamSourceConduit;
Exception table:
from to target type
0 4 12 Class java.io.IOException
5 11 12 Class java.io.IOException
MethodParameters:
Name Flags
channel final
public void handleEvent(java.nio.channels.Channel);
descriptor: (Ljava/nio/channels/Channel;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.xnio.channels.StreamSourceChannel
invokevirtual org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener.handleEvent:(Lorg/xnio/channels/StreamSourceChannel;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lorg/xnio/ChannelListener<Lorg/xnio/channels/StreamSourceChannel;>;
SourceFile: "HttpUpgrade.java"
NestHost: org.xnio.http.HttpUpgrade
InnerClasses:
public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener
private HttpUpgradeState = org.xnio.http.HttpUpgrade$HttpUpgradeState of org.xnio.http.HttpUpgrade
private final UpgradeResultListener = org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener of org.xnio.http.HttpUpgrade$HttpUpgradeState
org.xnio.http.HttpUpgrade$HttpUpgradeState$UpgradeResultListener$1