public final class io.undertow.conduits.HeadStreamSinkConduit extends org.xnio.conduits.AbstractStreamSinkConduit<org.xnio.conduits.StreamSinkConduit>
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.undertow.conduits.HeadStreamSinkConduit
super_class: org.xnio.conduits.AbstractStreamSinkConduit
{
private final io.undertow.conduits.ConduitListener<? super io.undertow.conduits.HeadStreamSinkConduit> finishListener;
descriptor: Lio/undertow/conduits/ConduitListener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/HeadStreamSinkConduit;>;
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final boolean shutdownDelegate;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int FLAG_CLOSE_REQUESTED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int FLAG_CLOSE_COMPLETE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int FLAG_FINISHED_CALLED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public void <init>(org.xnio.conduits.StreamSinkConduit, io.undertow.conduits.ConduitListener<? super io.undertow.conduits.HeadStreamSinkConduit>);
descriptor: (Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokespecial io.undertow.conduits.HeadStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;Z)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
0 2 1 next Lorg/xnio/conduits/StreamSinkConduit;
0 2 2 finishListener Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/HeadStreamSinkConduit;>;
Signature: (Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/HeadStreamSinkConduit;>;)V
MethodParameters:
Name Flags
next final
finishListener final
public void <init>(org.xnio.conduits.StreamSinkConduit, io.undertow.conduits.ConduitListener<? super io.undertow.conduits.HeadStreamSinkConduit>, );
descriptor: (Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, 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
aload 2
putfield io.undertow.conduits.HeadStreamSinkConduit.finishListener:Lio/undertow/conduits/ConduitListener;
2: aload 0
iload 3
putfield io.undertow.conduits.HeadStreamSinkConduit.shutdownDelegate:Z
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
0 4 1 next Lorg/xnio/conduits/StreamSinkConduit;
0 4 2 finishListener Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/HeadStreamSinkConduit;>;
0 4 3 shutdownDelegate Z
Signature: (Lorg/xnio/conduits/StreamSinkConduit;Lio/undertow/conduits/ConduitListener<-Lio/undertow/conduits/HeadStreamSinkConduit;>;Z)V
MethodParameters:
Name Flags
next final
finishListener final
shutdownDelegate
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
start local 2 3: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
4: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
0 5 1 src Ljava/nio/ByteBuffer;
3 5 2 remaining I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src final
public long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
lconst_0
lstore 4
start local 4 3: iload 2
istore 6
start local 6 4: goto 10
5: StackMap locals: long int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 6: aload 7
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 8
start local 8 7: lload 4
iload 8
i2l
ladd
lstore 4
8: aload 7
aload 7
invokevirtual java.nio.ByteBuffer.position:()I
iload 8
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
end local 8 end local 7 9: iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 2
iload 3
iadd
if_icmplt 5
end local 6 11: 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 12 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
0 12 1 srcs [Ljava/nio/ByteBuffer;
0 12 2 offset I
0 12 3 length I
3 12 4 total J
4 11 6 i I
6 9 7 src Ljava/nio/ByteBuffer;
7 9 8 remaining I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs final
offset final
length final
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/HeadStreamSinkConduit;
0 1 1 src Ljava/nio/ByteBuffer;
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=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/HeadStreamSinkConduit;
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 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 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
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 3 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
0 3 1 src Ljava/nio/channels/FileChannel;
0 3 2 position J
0 3 4 count J
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=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
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 3 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
0 3 1 source Lorg/xnio/channels/StreamSourceChannel;
0 3 2 count J
0 3 4 throughBuffer Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
source final
count final
throughBuffer final
public boolean flush();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
istore 1
start local 1 1: iload 1
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 3
2: iconst_1
ireturn
3: StackMap locals: int
StackMap stack:
iconst_0
istore 2
start local 2 4: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
dup
istore 2
istore 4
5: aload 0
iload 1
iload 2
invokevirtual io.undertow.conduits.HeadStreamSinkConduit.exitFlush:(IZ)V
6: iload 4
ireturn
7: StackMap locals: io.undertow.conduits.HeadStreamSinkConduit int int
StackMap stack: java.lang.Throwable
astore 3
8: aload 0
iload 1
iload 2
invokevirtual io.undertow.conduits.HeadStreamSinkConduit.exitFlush:(IZ)V
9: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
1 10 1 val I
4 10 2 flushed Z
Exception table:
from to target type
4 5 7 any
Exceptions:
throws java.io.IOException
public void suspendWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
i2l
lstore 1
start local 1 1: lload 1
ldc 2
invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
ifeq 3
2: return
3: StackMap locals: long
StackMap stack:
aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.suspendWrites:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
1 5 1 val J
public void resumeWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
i2l
lstore 1
start local 1 1: lload 1
ldc 2
invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
ifeq 3
2: return
3: StackMap locals: long
StackMap stack:
aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.resumeWrites:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
1 5 1 val J
public boolean isWriteResumed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 1
aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.isWriteResumed:()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/HeadStreamSinkConduit;
public void wakeupWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
i2l
lstore 1
start local 1 1: lload 1
ldc 2
invokestatic org.xnio.Bits.anyAreSet:(JJ)Z
ifeq 3
2: return
3: StackMap locals: long
StackMap stack:
aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.wakeupWrites:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
1 5 1 val J
public void terminateWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.state:I
istore 1
start local 1 1: iload 1
iconst_3
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 3
2: return
3: StackMap locals: int
StackMap stack:
iload 1
iconst_1
ior
istore 2
start local 2 4: aload 0
iload 2
putfield io.undertow.conduits.HeadStreamSinkConduit.state:I
5: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.shutdownDelegate:Z
ifeq 7
6: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
7: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/conduits/HeadStreamSinkConduit;
1 8 1 oldVal I
4 8 2 newVal I
Exceptions:
throws java.io.IOException
private void exitFlush(int, boolean);
descriptor: (IZ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: iload 1
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iload 1
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 11
iload 2
ifeq 11
3: iload 3
iconst_2
ior
istore 3
4: iload 1
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 7
5: iload 3
iconst_4
ior
istore 3
6: iconst_1
istore 4
7: StackMap locals: int int
StackMap stack:
aload 0
iload 3
putfield io.undertow.conduits.HeadStreamSinkConduit.state:I
8: iload 4
ifeq 11
9: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.finishListener:Lio/undertow/conduits/ConduitListener;
ifnull 11
10: aload 0
getfield io.undertow.conduits.HeadStreamSinkConduit.finishListener:Lio/undertow/conduits/ConduitListener;
aload 0
invokeinterface io.undertow.conduits.ConduitListener.handleEvent:(Lorg/xnio/conduits/Conduit;)V
11: StackMap locals:
StackMap stack:
return
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/conduits/HeadStreamSinkConduit;
0 12 1 oldVal I
0 12 2 flushed Z
1 12 3 newVal I
2 12 4 callFinish Z
MethodParameters:
Name Flags
oldVal
flushed
}
Signature: Lorg/xnio/conduits/AbstractStreamSinkConduit<Lorg/xnio/conduits/StreamSinkConduit;>;
SourceFile: "HeadStreamSinkConduit.java"