public final class org.xnio.conduits.Conduits
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.xnio.conduits.Conduits
super_class: java.lang.Object
{
private static final java.nio.channels.FileChannel NULL_FILE_CHANNEL;
descriptor: Ljava/nio/channels/FileChannel;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.nio.ByteBuffer DRAIN_BUFFER;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: sipush 16384
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
putstatic org.xnio.conduits.Conduits.DRAIN_BUFFER:Ljava/nio/ByteBuffer;
1: new org.xnio.conduits.Conduits$1
dup
invokespecial org.xnio.conduits.Conduits$1.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.nio.channels.FileChannel
putstatic org.xnio.conduits.Conduits.NULL_FILE_CHANNEL:Ljava/nio/channels/FileChannel;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/xnio/conduits/Conduits;
public static long transfer(org.xnio.conduits.StreamSourceConduit, long, java.nio.ByteBuffer, java.nio.channels.WritableByteChannel);
descriptor: (Lorg/xnio/conduits/StreamSourceConduit;JLjava/nio/ByteBuffer;Ljava/nio/channels/WritableByteChannel;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, args_size=4
start local 0 start local 1 start local 3 start local 4 0: lconst_0
lstore 7
start local 7 1: aload 3
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
2: goto 21
3: StackMap locals: org.xnio.conduits.StreamSourceConduit long java.nio.ByteBuffer java.nio.channels.WritableByteChannel top top long
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
4: lload 1
lload 7
lsub
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lcmp
ifge 6
5: aload 3
lload 1
lload 7
lsub
l2i
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
6: StackMap locals:
StackMap stack:
aload 0
aload 3
invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
i2l
lstore 5
start local 5 7: lload 5
lconst_0
lcmp
ifgt 16
8: lload 7
lconst_0
lcmp
ifne 9
lload 5
goto 10
StackMap locals: org.xnio.conduits.StreamSourceConduit long java.nio.ByteBuffer java.nio.channels.WritableByteChannel long long
StackMap stack:
9: lload 7
StackMap locals:
StackMap stack: long
10: lstore 10
11: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
12: lload 10
lreturn
end local 5 13: StackMap locals: org.xnio.conduits.StreamSourceConduit long java.nio.ByteBuffer java.nio.channels.WritableByteChannel top top long
StackMap stack: java.lang.Throwable
astore 9
14: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
15: aload 9
athrow
start local 5 16: StackMap locals: org.xnio.conduits.StreamSourceConduit long java.nio.ByteBuffer java.nio.channels.WritableByteChannel long long
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
17: aload 4
aload 3
invokeinterface java.nio.channels.WritableByteChannel.write:(Ljava/nio/ByteBuffer;)I
i2l
lstore 5
18: lload 5
lconst_0
lcmp
ifne 20
19: lload 7
lreturn
20: StackMap locals:
StackMap stack:
lload 7
lload 5
ladd
lstore 7
end local 5 21: StackMap locals: org.xnio.conduits.StreamSourceConduit long java.nio.ByteBuffer java.nio.channels.WritableByteChannel top top long
StackMap stack:
lload 7
lload 1
lcmp
iflt 3
22: lload 7
lreturn
end local 7 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 source Lorg/xnio/conduits/StreamSourceConduit;
0 23 1 count J
0 23 3 throughBuffer Ljava/nio/ByteBuffer;
0 23 4 sink Ljava/nio/channels/WritableByteChannel;
7 13 5 res J
16 21 5 res J
1 23 7 total J
Exception table:
from to target type
4 11 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source final
count final
throughBuffer final
sink final
public static long transfer(java.nio.channels.ReadableByteChannel, long, java.nio.ByteBuffer, org.xnio.conduits.StreamSinkConduit);
descriptor: (Ljava/nio/channels/ReadableByteChannel;JLjava/nio/ByteBuffer;Lorg/xnio/conduits/StreamSinkConduit;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=12, args_size=4
start local 0 start local 1 start local 3 start local 4 0: lconst_0
lstore 7
start local 7 1: aload 3
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
2: goto 21
3: StackMap locals: java.nio.channels.ReadableByteChannel long java.nio.ByteBuffer org.xnio.conduits.StreamSinkConduit top top long
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
4: lload 1
lload 7
lsub
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lcmp
ifge 6
5: aload 3
lload 1
lload 7
lsub
l2i
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
6: StackMap locals:
StackMap stack:
aload 0
aload 3
invokeinterface java.nio.channels.ReadableByteChannel.read:(Ljava/nio/ByteBuffer;)I
i2l
lstore 5
start local 5 7: lload 5
lconst_0
lcmp
ifgt 16
8: lload 7
lconst_0
lcmp
ifne 9
lload 5
goto 10
StackMap locals: java.nio.channels.ReadableByteChannel long java.nio.ByteBuffer org.xnio.conduits.StreamSinkConduit long long
StackMap stack:
9: lload 7
StackMap locals:
StackMap stack: long
10: lstore 10
11: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
12: lload 10
lreturn
end local 5 13: StackMap locals: java.nio.channels.ReadableByteChannel long java.nio.ByteBuffer org.xnio.conduits.StreamSinkConduit top top long
StackMap stack: java.lang.Throwable
astore 9
14: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
15: aload 9
athrow
start local 5 16: StackMap locals: java.nio.channels.ReadableByteChannel long java.nio.ByteBuffer org.xnio.conduits.StreamSinkConduit long long
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
17: aload 4
aload 3
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
i2l
lstore 5
18: lload 5
lconst_0
lcmp
ifne 20
19: lload 7
lreturn
20: StackMap locals:
StackMap stack:
lload 7
lload 5
ladd
lstore 7
end local 5 21: StackMap locals: java.nio.channels.ReadableByteChannel long java.nio.ByteBuffer org.xnio.conduits.StreamSinkConduit top top long
StackMap stack:
lload 7
lload 1
lcmp
iflt 3
22: lload 7
lreturn
end local 7 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 source Ljava/nio/channels/ReadableByteChannel;
0 23 1 count J
0 23 3 throughBuffer Ljava/nio/ByteBuffer;
0 23 4 sink Lorg/xnio/conduits/StreamSinkConduit;
7 13 5 res J
16 21 5 res J
1 23 7 total J
Exception table:
from to target type
4 11 13 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source final
count final
throughBuffer final
sink final
public static int writeFinalBasic(org.xnio.conduits.StreamSinkConduit, java.nio.ByteBuffer);
descriptor: (Lorg/xnio/conduits/StreamSinkConduit;Ljava/nio/ByteBuffer;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface org.xnio.conduits.StreamSinkConduit.write:(Ljava/nio/ByteBuffer;)I
istore 2
start local 2 1: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 3
2: aload 0
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
3: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 conduit Lorg/xnio/conduits/StreamSinkConduit;
0 4 1 src Ljava/nio/ByteBuffer;
1 4 2 res I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
conduit
src
public static long writeFinalBasic(org.xnio.conduits.StreamSinkConduit, java.nio.ByteBuffer[], int, int);
descriptor: (Lorg/xnio/conduits/StreamSinkConduit;[Ljava/nio/ByteBuffer;II)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 4
start local 4 1: aload 1
iload 2
iload 3
invokestatic org.xnio.Buffers.hasRemaining:([Ljava/nio/Buffer;II)Z
ifne 3
2: aload 0
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
3: StackMap locals: long
StackMap stack:
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 4 0 conduit Lorg/xnio/conduits/StreamSinkConduit;
0 4 1 srcs [Ljava/nio/ByteBuffer;
0 4 2 offset I
0 4 3 length I
1 4 4 res J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
conduit
srcs
offset
length
public static boolean sendFinalBasic(org.xnio.conduits.MessageSinkConduit, java.nio.ByteBuffer);
descriptor: (Lorg/xnio/conduits/MessageSinkConduit;Ljava/nio/ByteBuffer;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface org.xnio.conduits.MessageSinkConduit.send:(Ljava/nio/ByteBuffer;)Z
ifeq 3
1: aload 0
invokeinterface org.xnio.conduits.MessageSinkConduit.terminateWrites:()V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 conduit Lorg/xnio/conduits/MessageSinkConduit;
0 4 1 src Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
conduit
src
public static boolean sendFinalBasic(org.xnio.conduits.MessageSinkConduit, java.nio.ByteBuffer[], int, int);
descriptor: (Lorg/xnio/conduits/MessageSinkConduit;[Ljava/nio/ByteBuffer;II)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
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
invokeinterface org.xnio.conduits.MessageSinkConduit.send:([Ljava/nio/ByteBuffer;II)Z
ifeq 3
1: aload 0
invokeinterface org.xnio.conduits.MessageSinkConduit.terminateWrites:()V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 conduit Lorg/xnio/conduits/MessageSinkConduit;
0 4 1 srcs [Ljava/nio/ByteBuffer;
0 4 2 offset I
0 4 3 length I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
conduit
srcs
offset
length
public static long drain(org.xnio.conduits.StreamSourceConduit, long);
descriptor: (Lorg/xnio/conduits/StreamSourceConduit;J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: lconst_0
lstore 3
start local 3 1: aconst_null
astore 8
start local 8 2: StackMap locals: org.xnio.conduits.StreamSourceConduit long long top top top java.nio.ByteBuffer
StackMap stack:
lload 1
lconst_0
lcmp
ifne 3
lload 3
lreturn
3: StackMap locals:
StackMap stack:
getstatic org.xnio.conduits.Conduits.NULL_FILE_CHANNEL:Ljava/nio/channels/FileChannel;
ifnull 12
4: goto 10
5: StackMap locals:
StackMap stack:
aload 0
lconst_0
lload 1
getstatic org.xnio.conduits.Conduits.NULL_FILE_CHANNEL:Ljava/nio/channels/FileChannel;
invokeinterface org.xnio.conduits.StreamSourceConduit.transferTo:(JJLjava/nio/channels/FileChannel;)J
dup2
lstore 5
start local 5 6: lconst_0
lcmp
ifne 8
7: goto 11
8: StackMap locals: org.xnio.conduits.StreamSourceConduit long long long top java.nio.ByteBuffer
StackMap stack:
lload 3
lload 5
ladd
lstore 3
9: lload 1
lload 5
lsub
lstore 1
end local 5 10: StackMap locals: org.xnio.conduits.StreamSourceConduit long long top top top java.nio.ByteBuffer
StackMap stack:
lload 1
lconst_0
lcmp
ifgt 5
11: StackMap locals:
StackMap stack:
lload 3
lconst_0
lcmp
ifle 12
lload 3
lreturn
12: StackMap locals:
StackMap stack:
aload 8
ifnonnull 13
getstatic org.xnio.conduits.Conduits.DRAIN_BUFFER:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
astore 8
13: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.nio.ByteBuffer.limit:()I
i2l
lload 1
lcmp
ifle 14
aload 8
lload 1
l2i
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
14: StackMap locals:
StackMap stack:
aload 0
aload 8
invokeinterface org.xnio.conduits.StreamSourceConduit.read:(Ljava/nio/ByteBuffer;)I
istore 7
start local 7 15: aload 8
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
16: iload 7
tableswitch { // -1 - 0
-1: 17
0: 20
default: 21
}
17: StackMap locals: org.xnio.conduits.StreamSourceConduit long long top top int java.nio.ByteBuffer
StackMap stack:
lload 3
lconst_0
lcmp
ifne 18
ldc -1
goto 19
StackMap locals:
StackMap stack:
18: lload 3
StackMap locals:
StackMap stack: long
19: lreturn
20: StackMap locals:
StackMap stack:
lload 3
lreturn
21: StackMap locals:
StackMap stack:
lload 3
iload 7
i2l
ladd
lstore 3
end local 7 22: goto 2
end local 8 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 conduit Lorg/xnio/conduits/StreamSourceConduit;
0 23 1 count J
1 23 3 total J
6 10 5 lres J
15 22 7 ires I
2 23 8 buffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
conduit
count
}
SourceFile: "Conduits.java"
NestMembers:
org.xnio.conduits.Conduits$1
InnerClasses:
org.xnio.conduits.Conduits$1