public class io.undertow.conduits.RangeStreamSinkConduit extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.undertow.conduits.RangeStreamSinkConduit
super_class: org.xnio.conduits.AbstractStreamSinkConduit
{
private final long start;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long end;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long originalResponseLength;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long written;
descriptor: J
flags: (0x0002) ACC_PRIVATE
public void <init>(org.xnio.conduits.StreamSinkConduit, long, long, long);
descriptor: (Lorg/xnio/conduits/StreamSinkConduit;JJJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 0
aload 1
invokespecial org.xnio.conduits.AbstractStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
1: aload 0
lload 2
putfield io.undertow.conduits.RangeStreamSinkConduit.start:J
2: aload 0
lload 4
putfield io.undertow.conduits.RangeStreamSinkConduit.end:J
3: aload 0
lload 6
putfield io.undertow.conduits.RangeStreamSinkConduit.originalResponseLength:J
4: return
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/RangeStreamSinkConduit;
0 5 1 next Lorg/xnio/conduits/StreamSinkConduit;
0 5 2 start J
0 5 4 end J
0 5 6 originalResponseLength J
MethodParameters:
Name Flags
next
start
end
originalResponseLength
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.start:J
lcmp
iflt 1
aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.end:J
lcmp
ifgt 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.start:J
lcmp
ifge 4
aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.start:J
aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
lsub
goto 6
StackMap locals: int
StackMap stack:
4: aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.end:J
lcmp
ifgt 5
aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.end:J
aload 0
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
lsub
lconst_1
ladd
goto 6
StackMap locals:
StackMap stack:
5: ldc 9223372036854775807
StackMap locals:
StackMap stack: long
6: lstore 3
start local 3 7: iload 2
ifeq 33
8: aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
istore 5
start local 5 9: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
i2l
lload 3
ladd
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
i2l
invokestatic java.lang.Math.min:(JJ)J
l2i
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
10: iconst_0
istore 7
start local 7 11: aload 0
aload 1
invokespecial org.xnio.conduits.AbstractStreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 6
start local 6 12: aload 0
dup
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
iload 6
i2l
ladd
putfield io.undertow.conduits.RangeStreamSinkConduit.written:J
13: goto 24
end local 6 StackMap locals: io.undertow.conduits.RangeStreamSinkConduit java.nio.ByteBuffer int long int top int
StackMap stack: java.lang.Throwable
14: astore 8
15: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 22
16: aload 1
iload 5
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
17: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 23
18: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 7
19: aload 0
dup
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
iload 7
i2l
ladd
putfield io.undertow.conduits.RangeStreamSinkConduit.written:J
20: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
21: goto 23
22: StackMap locals: java.lang.Throwable
StackMap stack:
aload 1
iload 5
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
23: StackMap locals:
StackMap stack:
aload 8
athrow
start local 6 24: StackMap locals: io.undertow.conduits.RangeStreamSinkConduit java.nio.ByteBuffer int long int int int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 31
25: aload 1
iload 5
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
26: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 32
27: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 7
28: aload 0
dup
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
iload 7
i2l
ladd
putfield io.undertow.conduits.RangeStreamSinkConduit.written:J
29: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
30: goto 32
31: StackMap locals:
StackMap stack:
aload 1
iload 5
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
32: StackMap locals:
StackMap stack:
iload 6
iload 7
iadd
ireturn
end local 7 end local 6 end local 5 33: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lload 3
lcmp
ifgt 38
34: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 5
start local 5 35: aload 0
dup
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
iload 5
i2l
ladd
putfield io.undertow.conduits.RangeStreamSinkConduit.written:J
36: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
37: iload 5
ireturn
end local 5 38: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.conduits.RangeStreamSinkConduit.written:J
lload 3
ladd
putfield io.undertow.conduits.RangeStreamSinkConduit.written:J
39: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
i2l
lload 3
ladd
l2i
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
40: lload 3
l2i
aload 0
aload 1
invokevirtual io.undertow.conduits.RangeStreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lio/undertow/conduits/RangeStreamSinkConduit;
0 41 1 src Ljava/nio/ByteBuffer;
3 41 2 currentInclude Z
7 41 3 bytesRemaining J
9 33 5 old I
12 14 6 written I
24 33 6 written I
11 33 7 toConsume I
35 38 5 rem I
Exception table:
from to target type
11 14 14 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
public long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: lconst_0
lstore 4
start local 4 1: iload 2
istore 6
start local 6 2: goto 9
3: StackMap locals: long int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 4: aload 7
invokevirtual java.nio.ByteBuffer.remaining:()I
ifle 8
5: lload 4
aload 0
aload 7
invokevirtual io.undertow.conduits.RangeStreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
i2l
ladd
lstore 4
6: aload 7
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 8
7: lload 4
lreturn
end local 7 8: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
9: iload 6
iload 2
iload 3
iadd
if_icmplt 3
end local 6 10: lload 4
lreturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/undertow/conduits/RangeStreamSinkConduit;
0 11 1 srcs [Ljava/nio/ByteBuffer;
0 11 2 offs I
0 11 3 len I
1 11 4 ret J
2 10 6 i I
4 8 7 buf Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offs
len
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=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: 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
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/RangeStreamSinkConduit;
0 1 1 source Lorg/xnio/channels/StreamSourceChannel;
0 1 2 count J
0 1 4 throughBuffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source
count
throughBuffer
public long transferFrom(java.nio.channels.FileChannel, long, long);
descriptor: (Ljava/nio/channels/FileChannel;JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
lload 2
lload 4
new org.xnio.conduits.ConduitWritableByteChannel
dup
aload 0
invokespecial org.xnio.conduits.ConduitWritableByteChannel.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
invokevirtual java.nio.channels.FileChannel.transferTo:(JJLjava/nio/channels/WritableByteChannel;)J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/RangeStreamSinkConduit;
0 1 1 src Ljava/nio/channels/FileChannel;
0 1 2 position J
0 1 4 count J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
position
count
public long writeFinal(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokestatic org.xnio.conduits.Conduits.writeFinalBasic:(Lorg/xnio/conduits/StreamSinkConduit;[Ljava/nio/ByteBuffer;II)J
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/RangeStreamSinkConduit;
0 1 1 srcs [Ljava/nio/ByteBuffer;
0 1 2 offset I
0 1 3 length I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offset
length
public int writeFinal(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, 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
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/RangeStreamSinkConduit;
0 1 1 src Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
}
Signature: Lorg/xnio/conduits/AbstractStreamSinkConduit<Lorg/xnio/conduits/StreamSinkConduit;>;
SourceFile: "RangeStreamSinkConduit.java"