final class io.undertow.server.protocol.http.HttpResponseConduit extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.undertow.server.protocol.http.HttpResponseConduit
super_class: org.xnio.conduits.AbstractStreamSinkConduit
{
private final io.undertow.connector.ByteBufferPool pool;
descriptor: Lio/undertow/connector/ByteBufferPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.undertow.server.protocol.http.HttpServerConnection connection;
descriptor: Lio/undertow/server/protocol/http/HttpServerConnection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private long fiCookie;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.lang.String string;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private io.undertow.util.HeaderValues ;
descriptor: Lio/undertow/util/HeaderValues;
flags: (0x0002) ACC_PRIVATE
private int valueIdx;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int charIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private io.undertow.connector.PooledByteBuffer pooledBuffer;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0002) ACC_PRIVATE
private io.undertow.connector.PooledByteBuffer pooledFileTransferBuffer;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0002) ACC_PRIVATE
private io.undertow.server.HttpServerExchange exchange;
descriptor: Lio/undertow/server/HttpServerExchange;
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer[] writevBuffer;
descriptor: [Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private boolean done;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final int STATE_BODY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int STATE_START;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int STATE_HDR_NAME;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int STATE_HDR_D;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int STATE_HDR_DS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int STATE_HDR_VAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final int STATE_HDR_EOL_CR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6
private static final int STATE_HDR_EOL_LF;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 7
private static final int STATE_HDR_FINAL_CR;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int STATE_HDR_FINAL_LF;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private static final int STATE_BUF_FLUSH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int MASK_STATE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final int FLAG_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
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=1, locals=0, args_size=0
0: ldc Lio/undertow/server/protocol/http/HttpResponseConduit;
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.undertow.server.protocol.http.HttpResponseConduit.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.xnio.conduits.StreamSinkConduit, io.undertow.connector.ByteBufferPool, io.undertow.server.protocol.http.HttpServerConnection);
descriptor: (Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/http/HttpServerConnection;)V
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial org.xnio.conduits.AbstractStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
1: aload 0
iconst_1
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
2: aload 0
ldc -1
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
3: aload 0
iconst_0
putfield io.undertow.server.protocol.http.HttpResponseConduit.done:Z
4: aload 0
aload 2
putfield io.undertow.server.protocol.http.HttpResponseConduit.pool:Lio/undertow/connector/ByteBufferPool;
5: aload 0
aload 3
putfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 7 1 next Lorg/xnio/conduits/StreamSinkConduit;
0 7 2 pool Lio/undertow/connector/ByteBufferPool;
0 7 3 connection Lio/undertow/server/protocol/http/HttpServerConnection;
MethodParameters:
Name Flags
next final
pool final
connection
void <init>(org.xnio.conduits.StreamSinkConduit, io.undertow.connector.ByteBufferPool, io.undertow.server.protocol.http.HttpServerConnection, io.undertow.server.HttpServerExchange);
descriptor: (Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/http/HttpServerConnection;Lio/undertow/server/HttpServerExchange;)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokespecial org.xnio.conduits.AbstractStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
1: aload 0
iconst_1
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
2: aload 0
ldc -1
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
3: aload 0
iconst_0
putfield io.undertow.server.protocol.http.HttpResponseConduit.done:Z
4: aload 0
aload 2
putfield io.undertow.server.protocol.http.HttpResponseConduit.pool:Lio/undertow/connector/ByteBufferPool;
5: aload 0
aload 3
putfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
6: aload 0
aload 4
putfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 8 1 next Lorg/xnio/conduits/StreamSinkConduit;
0 8 2 pool Lio/undertow/connector/ByteBufferPool;
0 8 3 connection Lio/undertow/server/protocol/http/HttpServerConnection;
0 8 4 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
next final
pool final
connection
exchange
void reset(io.undertow.server.HttpServerExchange);
descriptor: (Lio/undertow/server/HttpServerExchange;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
1: aload 0
iconst_1
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
2: aload 0
ldc -1
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
3: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
4: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
5: aload 0
iconst_0
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
6: aload 0
iconst_0
putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 8 1 exchange Lio/undertow/server/HttpServerExchange;
MethodParameters:
Name Flags
exchange
private int processWrite(int, java.lang.Object, int, int);
descriptor: (ILjava/lang/Object;II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.done:Z
ifne 1
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic io.undertow.server.protocol.http.HttpResponseConduit.$assertionsDisabled:Z
ifne 3
iload 1
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iload 1
bipush 10
if_icmpne 28
4: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 5
start local 5 5: StackMap locals: java.nio.ByteBuffer
StackMap stack:
lconst_0
lstore 6
start local 6 6: aload 2
ifnull 7
iload 4
ifne 9
7: StackMap locals: long
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 5
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
i2l
lstore 6
8: goto 23
StackMap locals:
StackMap stack:
9: aload 2
instanceof java.nio.ByteBuffer
ifeq 17
10: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
astore 8
start local 8 11: aload 8
ifnonnull 13
12: aload 0
iconst_2
anewarray java.nio.ByteBuffer
dup_x1
putfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
astore 8
13: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 8
iconst_0
aload 5
aastore
14: aload 8
iconst_1
aload 2
checkcast java.nio.ByteBuffer
aastore
15: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 8
iconst_0
iconst_2
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 6
16: goto 23
end local 8 17: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
astore 8
start local 8 18: aload 8
ifnull 19
aload 8
arraylength
iload 4
iconst_1
iadd
if_icmpge 20
19: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 0
iload 4
iconst_1
iadd
anewarray java.nio.ByteBuffer
dup_x1
putfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
astore 8
20: StackMap locals:
StackMap stack:
aload 8
iconst_0
aload 5
aastore
21: aload 2
iload 3
aload 8
iconst_1
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 8
iconst_0
iload 4
iconst_1
iadd
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 6
end local 8 23: StackMap locals:
StackMap stack:
lload 6
lconst_0
lcmp
ifne 25
24: bipush 10
ireturn
end local 6 25: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 5
26: aload 0
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
27: iconst_0
ireturn
end local 5 28: StackMap locals:
StackMap stack:
iload 1
iconst_1
if_icmpeq 31
29: aload 0
iload 1
aload 2
iload 3
iload 4
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processStatefulWrite:(ILjava/lang/Object;II)I
30: ireturn
31: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokestatic io.undertow.server.Connectors.flattenCookies:(Lio/undertow/server/HttpServerExchange;)V
32: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 34
33: aload 0
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pool:Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
34: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 5
start local 5 35: getstatic io.undertow.server.protocol.http.HttpResponseConduit.$assertionsDisabled:Z
ifne 36
aload 5
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 50
if_icmpge 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals: java.nio.ByteBuffer
StackMap stack:
getstatic io.undertow.util.Protocols.HTTP_1_1:Lio/undertow/util/HttpString;
aload 5
invokevirtual io.undertow.util.HttpString.appendTo:(Ljava/nio/ByteBuffer;)V
37: aload 5
bipush 32
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
38: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getStatusCode:()I
istore 6
start local 6 39: getstatic io.undertow.server.protocol.http.HttpResponseConduit.$assertionsDisabled:Z
ifne 41
sipush 999
iload 6
if_icmplt 40
iload 6
bipush 100
if_icmpge 41
StackMap locals: int
StackMap stack:
40: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
41: StackMap locals:
StackMap stack:
aload 5
iload 6
bipush 100
idiv
bipush 48
iadd
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
42: aload 5
iload 6
bipush 10
idiv
bipush 10
irem
bipush 48
iadd
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
43: aload 5
iload 6
bipush 10
irem
bipush 48
iadd
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
44: aload 5
bipush 32
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
45: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getReasonPhrase:()Ljava/lang/String;
astore 7
start local 7 46: aload 7
ifnonnull 48
47: iload 6
invokestatic io.undertow.util.StatusCodes.getReason:(I)Ljava/lang/String;
astore 7
48: StackMap locals: java.lang.String
StackMap stack:
aload 7
invokevirtual java.lang.String.length:()I
aload 5
invokevirtual java.nio.ByteBuffer.remaining:()I
if_icmple 53
49: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
50: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
51: aload 0
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.truncateWrites:()V
52: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
aload 7
invokeinterface io.undertow.UndertowMessages.reasonPhraseToLargeForBuffer:(Ljava/lang/String;)Ljava/lang/IllegalStateException;
athrow
53: StackMap locals:
StackMap stack:
aload 5
aload 7
invokestatic io.undertow.server.protocol.http.HttpResponseConduit.writeString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
54: aload 5
bipush 13
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
bipush 10
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
55: aload 5
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 8
start local 8 56: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
astore 9
start local 9 57: aload 9
invokevirtual io.undertow.util.HeaderMap.fastIterateNonEmpty:()J
lstore 10
start local 10 58: goto 93
59: StackMap locals: int io.undertow.util.HeaderMap long
StackMap stack:
aload 9
lload 10
invokevirtual io.undertow.util.HeaderMap.fiCurrent:(J)Lio/undertow/util/HeaderValues;
astore 12
start local 12 60: aload 12
invokevirtual io.undertow.util.HeaderValues.getHeaderName:()Lio/undertow/util/HttpString;
astore 13
start local 13 61: aload 13
invokevirtual io.undertow.util.HttpString.length:()I
istore 14
start local 14 62: iconst_0
istore 15
start local 15 63: goto 91
64: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer int java.lang.String int io.undertow.util.HeaderMap long io.undertow.util.HeaderValues io.undertow.util.HttpString int int
StackMap stack:
iload 8
iload 14
iconst_2
iadd
isub
istore 8
65: iload 8
ifge 75
66: aload 0
lload 10
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
67: aload 0
aload 7
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
68: aload 0
aload 12
putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
69: aload 0
iload 15
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
70: aload 0
iconst_0
putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
71: aload 0
iconst_2
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
72: aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
73: aload 0
iconst_2
aload 2
iload 3
iload 4
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processStatefulWrite:(ILjava/lang/Object;II)I
74: ireturn
75: StackMap locals:
StackMap stack:
aload 13
aload 5
invokevirtual io.undertow.util.HttpString.appendTo:(Ljava/nio/ByteBuffer;)V
76: aload 5
bipush 58
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
bipush 32
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
77: aload 12
iload 15
iinc 15 1
invokevirtual io.undertow.util.HeaderValues.get:(I)Ljava/lang/String;
astore 7
78: iload 8
aload 7
invokevirtual java.lang.String.length:()I
iconst_2
iadd
isub
istore 8
79: iload 8
iconst_2
if_icmpge 89
80: aload 0
lload 10
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
81: aload 0
aload 7
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
82: aload 0
aload 12
putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
83: aload 0
iload 15
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
84: aload 0
iconst_0
putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
85: aload 0
iconst_5
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
86: aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
87: aload 0
iconst_5
aload 2
iload 3
iload 4
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processStatefulWrite:(ILjava/lang/Object;II)I
88: ireturn
89: StackMap locals:
StackMap stack:
aload 5
aload 7
invokestatic io.undertow.server.protocol.http.HttpResponseConduit.writeString:(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
90: aload 5
bipush 13
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
bipush 10
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
91: StackMap locals:
StackMap stack:
iload 15
aload 12
invokevirtual io.undertow.util.HeaderValues.size:()I
if_icmplt 64
92: aload 9
lload 10
invokevirtual io.undertow.util.HeaderMap.fiNextNonEmpty:(J)J
lstore 10
end local 15 end local 14 end local 13 end local 12 93: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer int java.lang.String int io.undertow.util.HeaderMap long
StackMap stack:
lload 10
ldc -1
lcmp
ifne 59
94: aload 5
bipush 13
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
bipush 10
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
95: aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
96: StackMap locals:
StackMap stack:
lconst_0
lstore 12
start local 12 97: aload 2
ifnonnull 100
98: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 5
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
i2l
lstore 12
99: goto 114
StackMap locals: long
StackMap stack:
100: aload 2
instanceof java.nio.ByteBuffer
ifeq 108
101: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
astore 14
start local 14 102: aload 14
ifnonnull 104
103: aload 0
iconst_2
anewarray java.nio.ByteBuffer
dup_x1
putfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
astore 14
104: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 14
iconst_0
aload 5
aastore
105: aload 14
iconst_1
aload 2
checkcast java.nio.ByteBuffer
aastore
106: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 14
iconst_0
iconst_2
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 12
107: goto 114
end local 14 108: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
astore 14
start local 14 109: aload 14
ifnull 110
aload 14
arraylength
iload 4
iconst_1
iadd
if_icmpge 111
110: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 0
iload 4
iconst_1
iadd
anewarray java.nio.ByteBuffer
dup_x1
putfield io.undertow.server.protocol.http.HttpResponseConduit.writevBuffer:[Ljava/nio/ByteBuffer;
astore 14
111: StackMap locals:
StackMap stack:
aload 14
iconst_0
aload 5
aastore
112: aload 2
iload 3
aload 14
iconst_1
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
113: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 14
iconst_0
iload 4
iconst_1
iadd
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 12
end local 14 114: StackMap locals:
StackMap stack:
lload 12
lconst_0
lcmp
ifne 116
115: bipush 10
ireturn
end local 12 116: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 96
117: aload 0
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
118: iconst_0
ireturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 119: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int
StackMap stack: java.lang.Throwable
astore 5
start local 5 120: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 123
121: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
122: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
123: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
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 124 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 124 1 state I
0 124 2 userData Ljava/lang/Object;
0 124 3 pos I
0 124 4 length I
5 28 5 byteBuffer Ljava/nio/ByteBuffer;
6 25 6 res J
11 17 8 data [Ljava/nio/ByteBuffer;
18 23 8 data [Ljava/nio/ByteBuffer;
35 119 5 buffer Ljava/nio/ByteBuffer;
39 119 6 code I
46 119 7 string Ljava/lang/String;
56 119 8 remaining I
57 119 9 headers Lio/undertow/util/HeaderMap;
58 119 10 fiCookie J
60 93 12 headerValues Lio/undertow/util/HeaderValues;
61 93 13 header Lio/undertow/util/HttpString;
62 93 14 headerSize I
63 93 15 valueIdx I
97 116 12 res J
102 108 14 data [Ljava/nio/ByteBuffer;
109 114 14 data [Ljava/nio/ByteBuffer;
120 124 5 e Ljava/lang/Throwable;
Exception table:
from to target type
2 24 119 Class java.io.IOException
25 27 119 Class java.io.IOException
28 30 119 Class java.io.IOException
31 74 119 Class java.io.IOException
75 88 119 Class java.io.IOException
89 115 119 Class java.io.IOException
116 118 119 Class java.io.IOException
2 24 119 Class java.lang.RuntimeException
25 27 119 Class java.lang.RuntimeException
28 30 119 Class java.lang.RuntimeException
31 74 119 Class java.lang.RuntimeException
75 88 119 Class java.lang.RuntimeException
89 115 119 Class java.lang.RuntimeException
116 118 119 Class java.lang.RuntimeException
2 24 119 Class java.lang.Error
25 27 119 Class java.lang.Error
28 30 119 Class java.lang.Error
31 74 119 Class java.lang.Error
75 88 119 Class java.lang.Error
89 115 119 Class java.lang.Error
116 118 119 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
state
userData final
pos
length
private void bufferDone();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
checkcast io.undertow.server.protocol.http.HttpServerConnection
astore 1
start local 1 3: aload 1
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.getExtraBytes:()Lio/undertow/connector/PooledByteBuffer;
ifnull 6
aload 1
invokevirtual io.undertow.server.protocol.http.HttpServerConnection.isOpen:()Z
ifeq 6
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.isRequestComplete:()Z
ifeq 6
4: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
5: goto 9
6: StackMap locals: io.undertow.server.protocol.http.HttpServerConnection
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
7: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
8: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
3 10 1 connection Lio/undertow/server/protocol/http/HttpServerConnection;
public void freeContinueResponse();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 3
1: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
2: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
private static void writeString(java.nio.ByteBuffer, java.lang.String);
descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.String.length:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 10
3: StackMap locals: int int
StackMap stack:
aload 1
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 4
start local 4 4: iload 4
i2b
istore 5
start local 5 5: iload 5
bipush 13
if_icmpeq 8
iload 5
bipush 10
if_icmpeq 8
6: aload 0
iload 5
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
7: goto 9
8: StackMap locals: int int
StackMap stack:
aload 0
bipush 32
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
end local 5 end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 2
if_icmplt 3
end local 3 11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 buffer Ljava/nio/ByteBuffer;
0 12 1 string Ljava/lang/String;
1 12 2 length I
2 11 3 charIndex I
4 9 4 c C
5 9 5 b B
MethodParameters:
Name Flags
buffer
string
private int processStatefulWrite(int, java.lang.Object, int, int);
descriptor: (ILjava/lang/Object;II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 5
start local 5 1: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
lstore 6
start local 6 2: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
istore 8
start local 8 3: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
istore 9
start local 9 4: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
astore 11
start local 11 5: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
astore 12
start local 12 6: aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 11
7: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 5
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 13
start local 13 8: iload 13
ifne 10
9: iload 1
ireturn
10: StackMap locals: int
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 7
end local 13 11: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
12: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
astore 14
start local 14 13: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
StackMap stack:
iload 1
tableswitch { // 2 - 10
2: 14
3: 32
4: 45
5: 60
6: 126
7: 130
8: 142
9: 146
10: 174
default: 176
}
14: StackMap locals:
StackMap stack:
aload 12
invokevirtual io.undertow.util.HeaderValues.getHeaderName:()Lio/undertow/util/HttpString;
astore 15
start local 15 15: aload 15
invokevirtual io.undertow.util.HttpString.length:()I
istore 10
start local 10 16: goto 31
17: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap io.undertow.util.HttpString
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 20
18: aload 5
aload 15
iload 9
iinc 9 1
invokevirtual io.undertow.util.HttpString.byteAt:(I)B
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
19: goto 31
20: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
21: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 5
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 13
start local 13 22: iload 13
ifne 29
23: aload 0
aload 11
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
24: aload 0
aload 12
putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
25: aload 0
iload 9
putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
26: aload 0
lload 6
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
27: aload 0
iload 8
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
28: iconst_2
ireturn
29: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap io.undertow.util.HttpString
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 21
30: aload 5
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
end local 13 31: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap io.undertow.util.HttpString
StackMap stack:
iload 9
iload 10
if_icmplt 17
end local 15 end local 10 32: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 44
33: aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
34: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 5
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 13
start local 13 35: iload 13
ifne 42
36: aload 0
aload 11
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
37: aload 0
aload 12
putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
38: aload 0
iload 9
putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
39: aload 0
lload 6
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
40: aload 0
iload 8
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
41: iconst_3
ireturn
42: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 34
43: aload 5
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
end local 13 44: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
StackMap stack:
aload 5
bipush 58
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
45: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 57
46: aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
47: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 5
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 13
start local 13 48: iload 13
ifne 55
49: aload 0
aload 11
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
50: aload 0
aload 12
putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
51: aload 0
iload 9
putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
52: aload 0
lload 6
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
53: aload 0
iload 8
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
54: iconst_4
ireturn
55: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 47
56: aload 5
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
end local 13 57: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
StackMap stack:
aload 5
bipush 32
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
58: aload 12
iload 8
iinc 8 1
invokevirtual io.undertow.util.HeaderValues.get:(I)Ljava/lang/String;
astore 11
59: iconst_0
istore 9
60: StackMap locals:
StackMap stack:
aload 11
invokevirtual java.lang.String.length:()I
istore 10
start local 10 61: goto 76
62: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 65
63: aload 5
aload 11
iload 9
iinc 9 1
invokevirtual java.lang.String.charAt:(I)C
i2b
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
64: goto 76
65: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
66: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 5
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 13
start local 13 67: iload 13
ifne 74
68: aload 0
aload 11
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
69: aload 0
aload 12
putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
70: aload 0
iload 9
putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
71: aload 0
lload 6
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
72: aload 0
iload 8
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
73: iconst_5
ireturn
74: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 66
75: aload 5
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
end local 13 76: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
StackMap stack:
iload 9
iload 10
if_icmplt 62
77: iconst_0
istore 9
78: iload 8
aload 12
invokevirtual io.undertow.util.HeaderValues.size:()I
if_icmpne 126
79: aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 82
80: aload 0
aload 5
aload 11
aload 12
iload 9
lload 6
iload 8
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
ifeq 82
81: bipush 6
ireturn
82: StackMap locals:
StackMap stack:
aload 5
bipush 13
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
83: aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 86
84: aload 0
aload 5
aload 11
aload 12
iload 9
lload 6
iload 8
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
ifeq 86
85: bipush 7
ireturn
86: StackMap locals:
StackMap stack:
aload 5
bipush 10
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
87: aload 14
lload 6
invokevirtual io.undertow.util.HeaderMap.fiNextNonEmpty:(J)J
dup2
lstore 6
ldc -1
lcmp
ifeq 92
88: aload 14
lload 6
invokevirtual io.undertow.util.HeaderMap.fiCurrent:(J)Lio/undertow/util/HeaderValues;
astore 12
89: iconst_0
istore 8
90: iconst_2
istore 1
91: goto 13
92: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 95
93: aload 0
aload 5
aload 11
aload 12
iload 9
lload 6
iload 8
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
ifeq 95
94: bipush 8
ireturn
95: StackMap locals:
StackMap stack:
aload 5
bipush 13
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
96: aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 99
97: aload 0
aload 5
aload 11
aload 12
iload 9
lload 6
iload 8
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
ifeq 99
98: bipush 9
ireturn
99: StackMap locals:
StackMap stack:
aload 5
bipush 10
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
100: aload 0
ldc -1
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
101: aload 0
iconst_0
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
102: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
103: aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
104: aload 2
ifnonnull 110
105: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 5
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 13
start local 13 106: iload 13
ifne 108
107: bipush 10
ireturn
108: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 105
109: goto 124
end local 13 StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int int java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
StackMap stack:
110: aload 2
instanceof java.nio.ByteBuffer
ifeq 117
111: iconst_2
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 2
checkcast java.nio.ByteBuffer
aastore
astore 15
start local 15 112: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 15
iconst_0
aload 15
arraylength
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 16
start local 16 113: lload 16
lconst_0
lcmp
ifne 115
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 115
114: bipush 10
ireturn
end local 16 115: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 112
end local 15 116: goto 124
117: StackMap locals:
StackMap stack:
iconst_1
iload 4
iadd
anewarray java.nio.ByteBuffer
astore 15
start local 15 118: aload 15
iconst_0
aload 5
aastore
119: aload 2
iload 3
aload 15
iconst_1
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
120: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 15
iconst_0
aload 15
arraylength
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 16
start local 16 121: lload 16
lconst_0
lcmp
ifne 123
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 123
122: bipush 10
ireturn
end local 16 123: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 120
end local 15 124: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
125: iconst_0
ireturn
end local 10 126: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 129
127: aload 0
aload 5
aload 11
aload 12
iload 9
lload 6
iload 8
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
ifeq 129
128: bipush 6
ireturn
129: StackMap locals:
StackMap stack:
aload 5
bipush 13
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
130: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 133
131: aload 0
aload 5
aload 11
aload 12
iload 9
lload 6
iload 8
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
ifeq 133
132: bipush 7
ireturn
133: StackMap locals:
StackMap stack:
aload 5
bipush 10
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
134: iload 8
aload 12
invokevirtual io.undertow.util.HeaderValues.size:()I
if_icmpge 137
135: iconst_2
istore 1
136: goto 13
137: StackMap locals:
StackMap stack:
aload 14
lload 6
invokevirtual io.undertow.util.HeaderMap.fiNextNonEmpty:(J)J
dup2
lstore 6
ldc -1
lcmp
ifeq 142
138: aload 14
lload 6
invokevirtual io.undertow.util.HeaderMap.fiCurrent:(J)Lio/undertow/util/HeaderValues;
astore 12
139: iconst_0
istore 8
140: iconst_2
istore 1
141: goto 13
142: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 145
143: aload 0
aload 5
aload 11
aload 12
iload 9
lload 6
iload 8
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
ifeq 145
144: bipush 8
ireturn
145: StackMap locals:
StackMap stack:
aload 5
bipush 13
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
146: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 149
147: aload 0
aload 5
aload 11
aload 12
iload 9
lload 6
iload 8
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.flushHeaderBuffer:(Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
ifeq 149
148: bipush 9
ireturn
149: StackMap locals:
StackMap stack:
aload 5
bipush 10
invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
pop
150: aload 0
ldc -1
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
151: aload 0
iconst_0
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
152: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
153: aload 5
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
154: aload 2
ifnonnull 160
155: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 5
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 13
start local 13 156: iload 13
ifne 158
157: bipush 10
ireturn
158: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues int io.undertow.util.HeaderMap
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 155
159: goto 174
end local 13 StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit int java.lang.Object int int java.nio.ByteBuffer long int int top java.lang.String io.undertow.util.HeaderValues top io.undertow.util.HeaderMap
StackMap stack:
160: aload 2
instanceof java.nio.ByteBuffer
ifeq 167
161: iconst_2
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 2
checkcast java.nio.ByteBuffer
aastore
astore 15
start local 15 162: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 15
iconst_0
aload 15
arraylength
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 16
start local 16 163: lload 16
lconst_0
lcmp
ifne 165
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 165
164: bipush 10
ireturn
end local 16 165: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 162
end local 15 166: goto 174
167: StackMap locals:
StackMap stack:
iconst_1
iload 4
iadd
anewarray java.nio.ByteBuffer
astore 15
start local 15 168: aload 15
iconst_0
aload 5
aastore
169: aload 2
iload 3
aload 15
iconst_1
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
170: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 15
iconst_0
aload 15
arraylength
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 16
start local 16 171: lload 16
lconst_0
lcmp
ifne 173
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 173
172: bipush 10
ireturn
end local 16 173: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 170
end local 15 174: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
175: iconst_0
ireturn
176: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
end local 14 end local 12 end local 11 end local 9 end local 8 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 177 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 177 1 state I
0 177 2 userData Ljava/lang/Object;
0 177 3 pos I
0 177 4 len I
1 177 5 buffer Ljava/nio/ByteBuffer;
2 177 6 fiCookie J
3 177 8 valueIdx I
4 177 9 charIndex I
16 32 10 length I
61 126 10 length I
5 177 11 string Ljava/lang/String;
6 177 12 headerValues Lio/undertow/util/HeaderValues;
8 11 13 res I
22 31 13 res I
35 44 13 res I
48 57 13 res I
67 76 13 res I
106 110 13 res I
156 160 13 res I
13 177 14 headers Lio/undertow/util/HeaderMap;
15 32 15 headerName Lio/undertow/util/HttpString;
112 116 15 b [Ljava/nio/ByteBuffer;
113 115 16 r J
118 124 15 b [Ljava/nio/ByteBuffer;
121 123 16 r J
162 166 15 b [Ljava/nio/ByteBuffer;
163 165 16 r J
168 174 15 b [Ljava/nio/ByteBuffer;
171 173 16 r J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
state
userData final
pos
len
private boolean (java.nio.ByteBuffer, java.lang.String, io.undertow.util.HeaderValues, int, long, int);
descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/String;Lio/undertow/util/HeaderValues;IJI)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 7 0: aload 1
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
1: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 1
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 8
start local 8 2: iload 8
ifne 9
3: aload 0
aload 2
putfield io.undertow.server.protocol.http.HttpResponseConduit.string:Ljava/lang/String;
4: aload 0
aload 3
putfield io.undertow.server.protocol.http.HttpResponseConduit.headerValues:Lio/undertow/util/HeaderValues;
5: aload 0
iload 4
putfield io.undertow.server.protocol.http.HttpResponseConduit.charIndex:I
6: aload 0
lload 5
putfield io.undertow.server.protocol.http.HttpResponseConduit.fiCookie:J
7: aload 0
iload 7
putfield io.undertow.server.protocol.http.HttpResponseConduit.valueIdx:I
8: iconst_1
ireturn
9: StackMap locals: int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 1
10: aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
11: iconst_0
ireturn
end local 8 end local 7 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 12 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 12 1 buffer Ljava/nio/ByteBuffer;
0 12 2 string Ljava/lang/String;
0 12 3 headerValues Lio/undertow/util/HeaderValues;
0 12 4 charIndex I
0 12 5 fiCookie J
0 12 7 valueIdx I
2 12 8 res I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
string
headerValues
charIndex
fiCookie
valueIdx
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
istore 2
start local 2 1: iload 2
bipush 15
iand
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_m1
istore 5
start local 5 4: iload 3
ifeq 14
5: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
6: aload 0
iload 3
aload 1
iconst_m1
iconst_m1
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processWrite:(ILjava/lang/Object;II)I
istore 3
7: iload 3
ifeq 10
8: aload 0
iload 2
bipush -16
iand
iload 3
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
9: iconst_0
ireturn
10: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.ByteBuffer int int int int
StackMap stack:
iload 5
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
isub
istore 4
11: iload 2
bipush 16
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 14
12: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
13: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
iload 4
iload 5
if_icmpeq 18
15: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 1
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
iload 4
iadd
istore 7
16: aload 0
iload 2
bipush -16
iand
iload 3
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
17: iload 7
ireturn
18: StackMap locals:
StackMap stack:
iload 4
istore 7
19: aload 0
iload 2
bipush -16
iand
iload 3
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
20: iload 7
ireturn
21: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
22: aload 0
iload 2
bipush -16
iand
iload 3
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
23: aload 6
athrow
end local 5 end local 4 end local 3 end local 2 24: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 2
start local 2 25: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
26: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 27 1 src Ljava/nio/ByteBuffer;
1 24 2 oldState I
2 24 3 state I
3 24 4 alreadyWritten I
4 24 5 originalRemaining I
25 27 2 e Ljava/lang/Throwable;
Exception table:
from to target type
4 8 21 any
10 16 21 any
18 19 21 any
0 9 24 Class java.io.IOException
10 17 24 Class java.io.IOException
18 20 24 Class java.io.IOException
21 24 24 Class java.io.IOException
0 9 24 Class java.lang.RuntimeException
10 17 24 Class java.lang.RuntimeException
18 20 24 Class java.lang.RuntimeException
21 24 24 Class java.lang.RuntimeException
0 9 24 Class java.lang.Error
10 17 24 Class java.lang.Error
18 20 24 Class java.lang.Error
21 24 24 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src final
public long write(java.nio.ByteBuffer[]);
descriptor: ([Ljava/nio/ByteBuffer;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.write:([Ljava/nio/ByteBuffer;II)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 1 1 srcs [Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs final
public long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifne 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
istore 4
start local 4 3: iload 4
bipush 15
iand
istore 5
start local 5 4: iload 5
ifeq 18
5: aload 1
iload 2
iload 3
invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;II)J
lstore 6
start local 6 6: aload 0
iload 5
aload 1
iload 2
iload 3
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processWrite:(ILjava/lang/Object;II)I
istore 5
7: lload 6
aload 1
iload 2
iload 3
invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;II)J
lsub
lstore 8
start local 8 8: iload 5
ifeq 12
9: lload 8
lstore 11
10: aload 0
iload 4
bipush -16
iand
iload 5
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
11: lload 11
lreturn
12: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.ByteBuffer[] int int int int long long
StackMap stack:
iload 4
bipush 16
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 15
13: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
14: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
lload 8
lstore 11
16: aload 0
iload 4
bipush -16
iand
iload 5
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
17: lload 11
lreturn
end local 8 end local 6 18: StackMap locals:
StackMap stack:
iload 3
iconst_1
if_icmpne 19
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 1
iload 2
aaload
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
i2l
goto 20
StackMap locals:
StackMap stack:
19: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 1
iload 2
iload 3
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
StackMap locals:
StackMap stack: long
20: lstore 11
21: aload 0
iload 4
bipush -16
iand
iload 5
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
22: lload 11
lreturn
23: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 24: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
25: aload 6
athrow
end local 6 26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
27: aload 0
iload 4
bipush -16
iand
iload 5
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
28: aload 10
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 29 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 29 1 srcs [Ljava/nio/ByteBuffer;
0 29 2 offset I
0 29 3 length I
3 29 4 oldVal I
4 29 5 state I
6 18 6 rem J
8 18 8 ret J
24 26 6 e Ljava/lang/Throwable;
Exception table:
from to target type
4 10 23 Class java.io.IOException
12 16 23 Class java.io.IOException
18 21 23 Class java.io.IOException
4 10 23 Class java.lang.RuntimeException
12 16 23 Class java.lang.RuntimeException
18 21 23 Class java.lang.RuntimeException
4 10 23 Class java.lang.Error
12 16 23 Class java.lang.Error
18 21 23 Class java.lang.Error
4 10 26 any
12 16 26 any
18 21 26 any
23 26 26 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs final
offset final
length final
public long transferFrom(java.nio.channels.FileChannel, long, long);
descriptor: (Ljava/nio/channels/FileChannel;JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 18
1: aload 0
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.write:(Ljava/nio/ByteBuffer;)I
i2l
lstore 8
2: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 6
3: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 6
4: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
5: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
6: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long top top long
StackMap stack:
lload 8
lreturn
7: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long
StackMap stack: java.lang.Throwable
astore 6
start local 6 8: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 11
9: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
10: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
11: StackMap locals: java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 6 12: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long
StackMap stack: java.lang.Throwable
astore 7
13: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 17
14: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 17
15: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
16: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
17: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long top java.lang.Throwable
StackMap stack:
aload 7
athrow
18: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
ifeq 42
19: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokevirtual io.undertow.server.ServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
astore 6
start local 6 20: aload 6
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 7
start local 7 21: aload 1
aload 7
invokevirtual java.nio.channels.FileChannel.read:(Ljava/nio/ByteBuffer;)I
istore 8
start local 8 22: aload 7
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
23: iload 8
ifgt 30
24: iload 8
i2l
lstore 10
25: aload 7
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 28
26: aload 0
aload 6
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
27: goto 29
28: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int top long
StackMap stack:
aload 6
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
29: StackMap locals:
StackMap stack:
lload 10
lreturn
30: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int
StackMap stack:
aload 0
aload 7
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.write:(Ljava/nio/ByteBuffer;)I
i2l
lstore 10
31: aload 7
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 34
32: aload 0
aload 6
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
33: goto 35
34: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer int top long
StackMap stack:
aload 6
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
35: StackMap locals:
StackMap stack:
lload 10
lreturn
end local 8 36: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 9
37: aload 7
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 40
38: aload 0
aload 6
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
39: goto 41
40: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer top java.lang.Throwable
StackMap stack:
aload 6
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
41: StackMap locals:
StackMap stack:
aload 9
athrow
end local 7 end local 6 42: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit java.nio.channels.FileChannel long long
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 1
lload 2
lload 4
invokeinterface org.xnio.conduits.StreamSinkConduit.transferFrom:(Ljava/nio/channels/FileChannel;JJ)J
43: lreturn
44: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 45: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
46: aload 6
athrow
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 47 1 src Ljava/nio/channels/FileChannel;
0 47 2 position J
0 47 4 count J
8 12 6 e Ljava/lang/Throwable;
20 42 6 pooled Lio/undertow/connector/PooledByteBuffer;
21 42 7 buffer Ljava/nio/ByteBuffer;
22 36 8 res I
45 47 6 e Ljava/lang/Throwable;
Exception table:
from to target type
1 2 7 Class java.io.IOException
1 2 7 Class java.lang.RuntimeException
1 2 7 Class java.lang.Error
1 2 12 any
7 12 12 any
21 25 36 any
30 31 36 any
0 6 44 Class java.io.IOException
7 29 44 Class java.io.IOException
30 35 44 Class java.io.IOException
36 43 44 Class java.io.IOException
0 6 44 Class java.lang.RuntimeException
7 29 44 Class java.lang.RuntimeException
30 35 44 Class java.lang.RuntimeException
36 43 44 Class java.lang.RuntimeException
0 6 44 Class java.lang.Error
7 29 44 Class java.lang.Error
30 35 44 Class java.lang.Error
36 43 44 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src final
position final
count final
public long transferFrom(org.xnio.channels.StreamSourceChannel, long, java.nio.ByteBuffer);
descriptor: (Lorg/xnio/channels/StreamSourceChannel;JLjava/nio/ByteBuffer;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
ifeq 3
1: aload 1
lload 2
aload 4
new org.xnio.conduits.ConduitWritableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
invokestatic org.xnio.IoUtils.transfer:(Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
2: lreturn
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 1
lload 2
aload 4
invokeinterface org.xnio.conduits.StreamSinkConduit.transferFrom:(Lorg/xnio/channels/StreamSourceChannel;JLjava/nio/ByteBuffer;)J
4: lreturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 6: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
7: aload 5
athrow
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 8 1 source Lorg/xnio/channels/StreamSourceChannel;
0 8 2 count J
0 8 4 throughBuffer Ljava/nio/ByteBuffer;
6 8 5 e Ljava/lang/Throwable;
Exception table:
from to target type
0 2 5 Class java.io.IOException
3 4 5 Class java.io.IOException
0 2 5 Class java.lang.RuntimeException
3 4 5 Class java.lang.RuntimeException
0 2 5 Class java.lang.Error
3 4 5 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source final
count final
throughBuffer final
public int writeFinal(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;Ljava/nio/ByteBuffer;)I
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 3: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
4: aload 2
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 5 1 src Ljava/nio/ByteBuffer;
3 5 2 e Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.RuntimeException
0 1 2 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
public long writeFinal(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;[Ljava/nio/ByteBuffer;II)J
1: lreturn
2: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
start local 4 3: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
4: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
0 5 1 srcs [Ljava/nio/ByteBuffer;
0 5 2 offset I
0 5 3 length I
3 5 4 e Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.RuntimeException
0 1 2 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offset
length
public boolean flush();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
istore 1
start local 1 1: iload 1
bipush 15
iand
istore 2
start local 2 2: iload 2
ifeq 9
3: aload 0
iload 2
aconst_null
iconst_m1
iconst_m1
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.processWrite:(ILjava/lang/Object;II)I
istore 2
4: iload 2
ifeq 7
5: aload 0
iload 1
bipush -16
iand
iload 2
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
6: iconst_0
ireturn
7: StackMap locals: int int
StackMap stack:
iload 1
bipush 16
invokestatic org.xnio.Bits.allAreSet:(II)Z
ifeq 9
8: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
9: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
istore 5
10: aload 0
iload 1
bipush -16
iand
iload 2
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
11: iload 5
ireturn
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
start local 3 13: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
14: aload 3
athrow
end local 3 15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
16: aload 0
iload 1
bipush -16
iand
iload 2
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
17: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
1 18 1 oldVal I
2 18 2 state I
13 15 3 e Ljava/lang/Throwable;
Exception table:
from to target type
2 5 12 Class java.io.IOException
7 10 12 Class java.io.IOException
2 5 12 Class java.lang.RuntimeException
7 10 12 Class java.lang.RuntimeException
2 5 12 Class java.lang.Error
7 10 12 Class java.lang.Error
2 5 15 any
7 10 15 any
12 15 15 any
Exceptions:
throws java.io.IOException
public void terminateWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
istore 1
start local 1 1: iload 1
bipush 15
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 4
2: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
3: return
4: StackMap locals: int
StackMap stack:
aload 0
iload 1
bipush 16
ior
putfield io.undertow.server.protocol.http.HttpResponseConduit.state:I
end local 1 5: goto 9
StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit
StackMap stack: java.lang.Throwable
6: astore 1
start local 1 7: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
8: aload 1
athrow
end local 1 9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
1 5 1 oldVal I
7 9 1 e Ljava/lang/Throwable;
Exception table:
from to target type
0 3 6 Class java.io.IOException
4 5 6 Class java.io.IOException
0 3 6 Class java.lang.RuntimeException
4 5 6 Class java.lang.RuntimeException
0 3 6 Class java.lang.Error
4 5 6 Class java.lang.Error
Exceptions:
throws java.io.IOException
public void truncateWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.truncateWrites:()V
1: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 1
start local 1 3: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.connection:Lio/undertow/server/protocol/http/HttpServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
4: aload 1
athrow
end local 1 5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
6: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 8
7: aload 0
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
8: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit top java.lang.Throwable
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 11
9: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
10: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
11: StackMap locals:
StackMap stack:
aload 2
athrow
12: StackMap locals: io.undertow.server.protocol.http.HttpResponseConduit
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 14
13: aload 0
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
14: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 17
15: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
16: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
17: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
3 5 1 e Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.io.IOException
0 1 2 Class java.lang.RuntimeException
0 1 2 Class java.lang.Error
0 5 5 any
Exceptions:
throws java.io.IOException
public org.xnio.XnioWorker getWorker();
descriptor: ()Lorg/xnio/XnioWorker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.getWorker:()Lorg/xnio/XnioWorker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
void freeBuffers();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield io.undertow.server.protocol.http.HttpResponseConduit.done:Z
1: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 3
2: aload 0
invokevirtual io.undertow.server.protocol.http.HttpResponseConduit.bufferDone:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 6
4: aload 0
getfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
5: aload 0
aconst_null
putfield io.undertow.server.protocol.http.HttpResponseConduit.pooledFileTransferBuffer:Lio/undertow/connector/PooledByteBuffer;
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/server/protocol/http/HttpResponseConduit;
}
Signature: Lorg/xnio/conduits/AbstractStreamSinkConduit<Lorg/xnio/conduits/StreamSinkConduit;>;
SourceFile: "HttpResponseConduit.java"