public final class io.undertow.conduits.FixedLengthStreamSourceConduit extends org.xnio.conduits.AbstractStreamSourceConduit<org.xnio.conduits.StreamSourceConduit>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.undertow.conduits.FixedLengthStreamSourceConduit
super_class: org.xnio.conduits.AbstractStreamSourceConduit
{
private final io.undertow.conduits.ConduitListener<? super io.undertow.conduits.FixedLengthStreamSourceConduit> finishListener;
descriptor: Lio/undertow/conduits/ConduitListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/FixedLengthStreamSourceConduit;>;
private long state;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static final long FLAG_CLOSED;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -9223372036854775808
private static final long FLAG_FINISHED;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4611686018427387904
private static final long FLAG_LENGTH_CHECKED;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2305843009213693952
private static final long MASK_COUNT;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.undertow.server.HttpServerExchange exchange;
descriptor: Lio/undertow/server/HttpServerExchange;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: iconst_0
bipush 60
invokestatic org.xnio.Bits.longBitMask:(II)J
putstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.xnio.conduits.StreamSourceConduit, long, io.undertow.conduits.ConduitListener<? super io.undertow.conduits.FixedLengthStreamSourceConduit>, io.undertow.server.HttpServerExchange);
descriptor: (Lorg/xnio/conduits/StreamSourceConduit;JLio/undertow/conduits/ConduitListener;Lio/undertow/server/HttpServerExchange;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: aload 0
aload 1
invokespecial org.xnio.conduits.AbstractStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;)V
1: aload 0
aload 4
putfield io.undertow.conduits.FixedLengthStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
2: lload 2
lconst_0
lcmp
ifge 4
3: new java.lang.IllegalArgumentException
dup
ldc "Content length must be greater than or equal to zero"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: io.undertow.conduits.FixedLengthStreamSourceConduit org.xnio.conduits.StreamSourceConduit long io.undertow.conduits.ConduitListener io.undertow.server.HttpServerExchange
StackMap stack:
lload 2
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
lcmp
ifle 6
5: new java.lang.IllegalArgumentException
dup
ldc "Content length is too long"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
lload 2
putfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
7: aload 0
aload 5
putfield io.undertow.conduits.FixedLengthStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
8: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 9 1 next Lorg/xnio/conduits/StreamSourceConduit;
0 9 2 contentLength J
0 9 4 finishListener Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/FixedLengthStreamSourceConduit;>;
0 9 5 exchange Lio/undertow/server/HttpServerExchange;
Signature: (Lorg/xnio/conduits/StreamSourceConduit;JLio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/FixedLengthStreamSourceConduit;>;Lio/undertow/server/HttpServerExchange;)V
MethodParameters:
Name Flags
next final
contentLength final
finishListener final
exchange final
public void <init>(org.xnio.conduits.StreamSourceConduit, long, io.undertow.conduits.ConduitListener<? super io.undertow.conduits.FixedLengthStreamSourceConduit>);
descriptor: (Lorg/xnio/conduits/StreamSourceConduit;JLio/undertow/conduits/ConduitListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
aload 1
lload 2
aload 4
aconst_null
invokespecial io.undertow.conduits.FixedLengthStreamSourceConduit.<init>:(Lorg/xnio/conduits/StreamSourceConduit;JLio/undertow/conduits/ConduitListener;Lio/undertow/server/HttpServerExchange;)V
1: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 2 1 next Lorg/xnio/conduits/StreamSourceConduit;
0 2 2 contentLength J
0 2 4 finishListener Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/FixedLengthStreamSourceConduit;>;
Signature: (Lorg/xnio/conduits/StreamSourceConduit;JLio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/FixedLengthStreamSourceConduit;>;)V
MethodParameters:
Name Flags
next final
contentLength final
finishListener final
public long transferTo(long, long, java.nio.channels.FileChannel);
descriptor: (JJLjava/nio/channels/FileChannel;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=14, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
lstore 6
start local 6 1: aload 0
lload 6
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.checkMaxSize:(J)V
2: lload 6
ldc -4611686018427387904
invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
ifne 3
lload 6
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifeq 6
3: StackMap locals: long
StackMap stack:
lload 6
ldc 4611686018427387904
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifeq 5
4: aload 0
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.invokeFinishListener:()V
5: StackMap locals:
StackMap stack:
ldc -1
lreturn
6: StackMap locals:
StackMap stack:
lconst_0
lstore 8
start local 8 7: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
lload 1
lload 3
lload 6
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
land
invokestatic java.lang.Math.min:(JJ)J
aload 5
invokeinterface org.xnio.conduits.StreamSourceConduit.transferTo:(JJLjava/nio/channels/FileChannel;)J
dup2
lstore 8
lstore 12
8: aload 0
lload 8
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
9: lload 12
lreturn
10: StackMap locals: io.undertow.conduits.FixedLengthStreamSourceConduit long long java.nio.channels.FileChannel long long
StackMap stack: java.lang.Throwable
astore 10
start local 10 11: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
12: aload 10
athrow
end local 10 13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
14: aload 0
lload 8
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
15: aload 11
athrow
end local 8 end local 6 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 16 1 position J
0 16 3 count J
0 16 5 target Ljava/nio/channels/FileChannel;
1 16 6 val J
7 16 8 res J
11 13 10 e Ljava/lang/Throwable;
Exception table:
from to target type
7 8 10 Class java.io.IOException
7 8 10 Class java.lang.RuntimeException
7 8 10 Class java.lang.Error
7 8 13 any
10 13 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
position final
count final
target final
public long transferTo(long, java.nio.ByteBuffer, org.xnio.channels.StreamSinkChannel);
descriptor: (JLjava/nio/ByteBuffer;Lorg/xnio/channels/StreamSinkChannel;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=4
start local 0 start local 1 start local 3 start local 4 0: lload 1
lconst_0
lcmp
ifne 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
lstore 5
start local 5 3: aload 0
lload 5
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.checkMaxSize:(J)V
4: lload 5
ldc -4611686018427387904
invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
ifne 5
lload 5
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifeq 8
5: StackMap locals: long
StackMap stack:
lload 5
ldc 4611686018427387904
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifeq 7
6: aload 0
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.invokeFinishListener:()V
7: StackMap locals:
StackMap stack:
ldc -1
lreturn
8: StackMap locals:
StackMap stack:
lconst_0
lstore 7
start local 7 9: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
lload 1
lload 5
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
land
invokestatic java.lang.Math.min:(JJ)J
aload 3
aload 4
invokeinterface org.xnio.conduits.StreamSourceConduit.transferTo:(JLjava/nio/ByteBuffer;Lorg/xnio/channels/StreamSinkChannel;)J
dup2
lstore 7
lstore 11
10: aload 0
lload 7
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ladd
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
11: lload 11
lreturn
12: StackMap locals: io.undertow.conduits.FixedLengthStreamSourceConduit long java.nio.ByteBuffer org.xnio.channels.StreamSinkChannel long long
StackMap stack: java.lang.Throwable
astore 9
start local 9 13: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
14: aload 9
athrow
end local 9 15: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
16: aload 0
lload 7
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ladd
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
17: aload 10
athrow
end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 18 1 count J
0 18 3 throughBuffer Ljava/nio/ByteBuffer;
0 18 4 target Lorg/xnio/channels/StreamSinkChannel;
3 18 5 val J
9 18 7 res J
13 15 9 e Ljava/lang/Throwable;
Exception table:
from to target type
9 10 12 Class java.io.IOException
9 10 12 Class java.lang.RuntimeException
9 10 12 Class java.lang.Error
9 10 15 any
12 15 15 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
count final
throughBuffer final
target final
private void checkMaxSize(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: lload 1
ldc 2305843009213693952
invokestatic org.xnio.Bits.anyAreClear:(JJ)Z
ifeq 10
1: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
astore 3
start local 3 2: aload 3
ifnull 9
3: aload 3
invokevirtual io.undertow.server.HttpServerExchange.getMaxEntitySize:()J
lconst_0
lcmp
ifle 9
aload 3
invokevirtual io.undertow.server.HttpServerExchange.getMaxEntitySize:()J
lload 1
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
land
lcmp
ifge 9
4: aload 3
invokestatic io.undertow.server.Connectors.terminateRequest:(Lio/undertow/server/HttpServerExchange;)V
5: aload 3
iconst_0
invokevirtual io.undertow.server.HttpServerExchange.setPersistent:(Z)Lio/undertow/server/HttpServerExchange;
pop
6: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
aload 0
invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
7: aload 0
dup
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
ldc -4611686018427387904
lor
putfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
8: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
aload 3
invokevirtual io.undertow.server.HttpServerExchange.getMaxEntitySize:()J
invokeinterface io.undertow.UndertowMessages.requestEntityWasTooLarge:(J)Lio/undertow/server/RequestTooBigException;
athrow
9: StackMap locals: io.undertow.server.HttpServerExchange
StackMap stack:
aload 0
dup
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
ldc 2305843009213693952
lor
putfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
end local 3 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 11 1 state J
2 10 3 exchange Lio/undertow/server/HttpServerExchange;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
state
public long read(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=19, 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:
iload 3
iconst_1
if_icmpne 4
3: aload 0
aload 1
iload 2
aaload
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
i2l
lreturn
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
lstore 4
start local 4 5: aload 0
lload 4
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.checkMaxSize:(J)V
6: lload 4
ldc -9223372036854775808
invokestatic org.xnio.Bits.allAreSet:(JJ)Z
ifne 7
lload 4
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifeq 10
7: StackMap locals: long
StackMap stack:
lload 4
ldc 4611686018427387904
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifeq 9
8: aload 0
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.invokeFinishListener:()V
9: StackMap locals:
StackMap stack:
ldc -1
lreturn
10: StackMap locals:
StackMap stack:
lconst_0
lstore 6
start local 6 11: lload 4
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
land
lconst_0
lcmp
ifne 14
12: aload 0
lload 6
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
13: ldc -1
lreturn
14: StackMap locals: long
StackMap stack:
lconst_0
lstore 9
start local 9 15: iconst_0
istore 11
start local 11 16: goto 30
17: StackMap locals: io.undertow.conduits.FixedLengthStreamSourceConduit java.nio.ByteBuffer[] int int long long top long int
StackMap stack:
aload 1
iload 11
iload 2
iadd
aaload
astore 12
start local 12 18: lload 9
aload 12
invokevirtual java.nio.ByteBuffer.limit:()I
dup
istore 8
start local 8 19: aload 12
invokevirtual java.nio.ByteBuffer.position:()I
isub
i2l
ladd
lstore 9
20: lload 9
lload 4
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
land
lcmp
ifle 29
21: aload 12
iload 8
lload 9
lload 4
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
land
lsub
l2i
isub
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
22: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
aload 1
iload 2
iload 11
iconst_1
iadd
invokeinterface org.xnio.conduits.StreamSourceConduit.read:([Ljava/nio/ByteBuffer;II)J
dup2
lstore 6
lstore 14
23: aload 12
iload 8
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
24: aload 0
lload 6
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
25: lload 14
lreturn
26: StackMap locals: io.undertow.conduits.FixedLengthStreamSourceConduit java.nio.ByteBuffer[] int int long long int long int java.nio.ByteBuffer
StackMap stack: java.lang.Throwable
astore 13
27: aload 12
iload 8
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
28: aload 13
athrow
end local 12 29: StackMap locals:
StackMap stack:
iinc 11 1
end local 8 StackMap locals: io.undertow.conduits.FixedLengthStreamSourceConduit java.nio.ByteBuffer[] int int long long top long int
StackMap stack:
30: iload 11
iload 3
if_icmplt 17
end local 11 31: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
aload 1
iload 2
iload 3
invokeinterface org.xnio.conduits.StreamSourceConduit.read:([Ljava/nio/ByteBuffer;II)J
dup2
lstore 6
lstore 17
32: aload 0
lload 6
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
33: lload 17
lreturn
end local 9 34: StackMap locals: io.undertow.conduits.FixedLengthStreamSourceConduit java.nio.ByteBuffer[] int int long long
StackMap stack: java.lang.Throwable
astore 8
start local 8 35: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
36: aload 8
athrow
end local 8 37: StackMap locals:
StackMap stack: java.lang.Throwable
astore 16
38: aload 0
lload 6
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
39: aload 16
athrow
end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 40 1 dsts [Ljava/nio/ByteBuffer;
0 40 2 offset I
0 40 3 length I
5 40 4 val J
11 40 6 res J
19 30 8 lim I
15 34 9 t J
16 31 11 i I
18 29 12 buffer Ljava/nio/ByteBuffer;
35 37 8 e Ljava/lang/Throwable;
Exception table:
from to target type
22 23 26 any
11 12 34 Class java.io.IOException
14 24 34 Class java.io.IOException
26 32 34 Class java.io.IOException
11 12 34 Class java.lang.RuntimeException
14 24 34 Class java.lang.RuntimeException
26 32 34 Class java.lang.RuntimeException
11 12 34 Class java.lang.Error
14 24 34 Class java.lang.Error
26 32 34 Class java.lang.Error
11 12 37 any
14 24 37 any
26 32 37 any
34 37 37 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dsts final
offset final
length final
public long read(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.conduits.FixedLengthStreamSourceConduit.read:([Ljava/nio/ByteBuffer;II)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 1 1 dsts [Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dsts final
public int read(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
lstore 2
start local 2 1: aload 0
lload 2
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.checkMaxSize:(J)V
2: lload 2
ldc -9223372036854775808
invokestatic org.xnio.Bits.allAreSet:(JJ)Z
ifne 3
lload 2
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifeq 6
3: StackMap locals: long
StackMap stack:
lload 2
ldc 4611686018427387904
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifeq 5
4: aload 0
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.invokeFinishListener:()V
5: StackMap locals:
StackMap stack:
iconst_m1
ireturn
6: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 7: lload 2
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
land
lstore 5
start local 5 8: aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
istore 7
start local 7 9: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 8
start local 8 10: iload 7
iload 8
isub
i2l
lload 5
lcmp
ifle 19
11: aload 1
lload 5
iload 8
i2l
ladd
l2i
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
12: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
aload 1
invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
dup
istore 4
istore 10
13: aload 1
iload 7
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
14: aload 0
iload 4
i2l
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
15: iload 10
ireturn
16: StackMap locals: io.undertow.conduits.FixedLengthStreamSourceConduit java.nio.ByteBuffer long int long int int
StackMap stack: java.lang.Throwable
astore 9
17: aload 1
iload 7
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
18: aload 9
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
aload 1
invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
dup
istore 4
istore 12
20: aload 0
iload 4
i2l
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
21: iload 12
ireturn
end local 8 end local 7 22: StackMap locals: io.undertow.conduits.FixedLengthStreamSourceConduit java.nio.ByteBuffer long int long
StackMap stack: java.lang.Throwable
astore 7
start local 7 23: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
24: aload 7
athrow
end local 7 25: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
26: aload 0
iload 4
i2l
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead:(J)V
27: aload 11
athrow
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 28 1 dst Ljava/nio/ByteBuffer;
1 28 2 val J
7 28 4 res I
8 28 5 remaining J
9 22 7 lim I
10 22 8 pos I
23 25 7 e Ljava/lang/Throwable;
Exception table:
from to target type
12 13 16 any
8 14 22 Class java.io.IOException
16 20 22 Class java.io.IOException
8 14 22 Class java.lang.RuntimeException
16 20 22 Class java.lang.RuntimeException
8 14 22 Class java.lang.Error
16 20 22 Class java.lang.Error
8 14 25 any
16 20 25 any
22 25 25 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
dst final
public boolean isReadResumed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
ldc -9223372036854775808
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifeq 1
aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
invokeinterface org.xnio.conduits.StreamSourceConduit.isReadResumed:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
public void wakeupReads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
lstore 1
start local 1 1: lload 1
ldc -4611686018427387904
invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
ifeq 3
2: return
3: StackMap locals: long
StackMap stack:
aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
invokeinterface org.xnio.conduits.StreamSourceConduit.wakeupReads:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
1 5 1 val J
public void terminateReads();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.enterShutdownReads:()J
lstore 1
start local 1 1: lload 1
ldc -9223372036854775808
invokestatic org.xnio.Bits.allAreSet:(JJ)Z
ifeq 3
2: return
3: StackMap locals: long
StackMap stack:
aload 0
lload 1
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.exitShutdownReads:(J)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
1 5 1 val J
Exceptions:
throws java.io.IOException
public void awaitReadable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
lstore 1
start local 1 1: lload 1
ldc -9223372036854775808
invokestatic org.xnio.Bits.allAreSet:(JJ)Z
ifne 2
lload 1
lconst_0
lcmp
ifne 3
2: StackMap locals: long
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
invokeinterface org.xnio.conduits.StreamSourceConduit.awaitReadable:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
1 5 1 val J
Exceptions:
throws java.io.IOException
public void awaitReadable(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
lstore 4
start local 4 1: lload 4
ldc -9223372036854775808
invokestatic org.xnio.Bits.allAreSet:(JJ)Z
ifne 2
lload 4
lconst_0
lcmp
ifne 3
2: StackMap locals: long
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSourceConduit
lload 1
aload 3
invokeinterface org.xnio.conduits.StreamSourceConduit.awaitReadable:(JLjava/util/concurrent/TimeUnit;)V
4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 6
start local 6 6: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.exchange:Lio/undertow/server/HttpServerExchange;
invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
7: aload 6
athrow
end local 6 8: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 9 1 time J
0 9 3 timeUnit Ljava/util/concurrent/TimeUnit;
1 9 4 val J
6 8 6 e Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.io.IOException
3 4 5 Class java.lang.RuntimeException
3 4 5 Class java.lang.Error
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
time final
timeUnit final
public long getRemaining();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
land
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
private long enterShutdownReads();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
lstore 1
start local 1 1: lload 1
ldc -9223372036854775808
invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
ifeq 3
2: lload 1
lreturn
3: StackMap locals: long
StackMap stack:
lload 1
ldc -9223372036854775808
lor
lstore 3
start local 3 4: aload 0
lload 3
putfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
5: lload 1
lreturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
1 6 1 oldVal J
4 6 3 newVal J
private void exitShutdownReads(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
invokestatic org.xnio.Bits.allAreClear:(JJ)Z
ifne 2
1: aload 0
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.invokeFinishListener:()V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 3 1 oldVal J
MethodParameters:
Name Flags
oldVal
private void exitRead(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
lstore 3
start local 3 1: lload 1
ldc -1
lcmp
ifne 7
2: lload 3
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
ifeq 6
3: aload 0
invokevirtual io.undertow.conduits.FixedLengthStreamSourceConduit.invokeFinishListener:()V
4: aload 0
dup
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
getstatic io.undertow.conduits.FixedLengthStreamSourceConduit.MASK_COUNT:J
ldc -1
lxor
land
putfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
5: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.couldNotReadContentLengthData:()Ljava/io/IOException;
athrow
6: StackMap locals: long
StackMap stack:
return
7: StackMap locals:
StackMap stack:
lload 3
lload 1
lsub
lstore 5
start local 5 8: aload 0
lload 5
putfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
9: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
0 10 1 consumed J
1 10 3 oldVal J
8 10 5 newVal J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
consumed
private void invokeFinishListener();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
ldc 4611686018427387904
lor
putfield io.undertow.conduits.FixedLengthStreamSourceConduit.state:J
1: aload 0
getfield io.undertow.conduits.FixedLengthStreamSourceConduit.finishListener:Lio/undertow/conduits/ConduitListener;
aload 0
invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/conduits/FixedLengthStreamSourceConduit;
}
Signature: Lorg/xnio/conduits/AbstractStreamSourceConduit<Lorg/xnio/conduits/StreamSourceConduit;>;
SourceFile: "FixedLengthStreamSourceConduit.java"