public class io.undertow.conduits.AbstractFramedStreamSinkConduit 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.AbstractFramedStreamSinkConduit
super_class: org.xnio.conduits.AbstractStreamSinkConduit
{
private final java.util.Deque<io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame> frameQueue;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<Lio/undertow/conduits/AbstractFramedStreamSinkConduit$Frame;>;
private long queuedData;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int bufferCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int state;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int FLAG_WRITES_TERMINATED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int FLAG_DELEGATE_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
protected void <init>(org.xnio.conduits.StreamSinkConduit);
descriptor: (Lorg/xnio/conduits/StreamSinkConduit;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.xnio.conduits.AbstractStreamSinkConduit.<init>:(Lorg/xnio/conduits/StreamSinkConduit;)V
1: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.frameQueue:Ljava/util/Deque;
2: aload 0
lconst_0
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
3: aload 0
iconst_0
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.bufferCount:I
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
0 5 1 next Lorg/xnio/conduits/StreamSinkConduit;
MethodParameters:
Name Flags
next
protected void queueFrame(io.undertow.conduits.AbstractFramedStreamSinkConduit$FrameCallBack, java.nio.ByteBuffer[]);
descriptor: (Lio/undertow/conduits/AbstractFramedStreamSinkConduit$FrameCallBack;[Ljava/nio/ByteBuffer;)V
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
aload 2
invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;)J
ladd
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
1: aload 0
dup
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.bufferCount:I
aload 2
arraylength
iadd
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.bufferCount:I
2: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.frameQueue:Ljava/util/Deque;
new io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame
dup
aload 1
aload 2
iconst_0
aload 2
arraylength
invokespecial io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.<init>:(Lio/undertow/conduits/AbstractFramedStreamSinkConduit$FrameCallBack;[Ljava/nio/ByteBuffer;II)V
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
0 4 1 callback Lio/undertow/conduits/AbstractFramedStreamSinkConduit$FrameCallBack;
0 4 2 data [Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
callback
data
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/AbstractFramedStreamSinkConduit;
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 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 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/AbstractFramedStreamSinkConduit;
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 final
count final
throughBuffer final
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.channelIsClosed:()Ljava/nio/channels/ClosedChannelException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 1
aastore
iconst_0
iconst_1
invokevirtual io.undertow.conduits.AbstractFramedStreamSinkConduit.doWrite:([Ljava/nio/ByteBuffer;II)J
l2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
0 3 1 src Ljava/nio/ByteBuffer;
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=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.channelIsClosed:()Ljava/nio/channels/ClosedChannelException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual io.undertow.conduits.AbstractFramedStreamSinkConduit.doWrite:([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 3 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
0 3 1 srcs [Ljava/nio/ByteBuffer;
0 3 2 offs I
0 3 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offs
len
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/AbstractFramedStreamSinkConduit;
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/AbstractFramedStreamSinkConduit;
0 1 1 srcs [Ljava/nio/ByteBuffer;
0 1 2 offs I
0 1 3 len I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offs
len
private long doWrite(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.bufferCount:I
aload 1
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack: int
1: iload 3
StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit java.nio.ByteBuffer[] int int
StackMap stack: int int
2: iadd
anewarray java.nio.ByteBuffer
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.frameQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int top java.util.Iterator
StackMap stack:
5: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame
astore 6
start local 6 6: aload 6
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.offs:I
istore 8
start local 8 7: goto 10
8: StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame java.util.Iterator int
StackMap stack:
aload 4
iload 5
iinc 5 1
aload 6
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.data:[Ljava/nio/ByteBuffer;
iload 8
aaload
aastore
9: iinc 8 1
StackMap locals:
StackMap stack:
10: iload 8
aload 6
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.offs:I
aload 6
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.len:I
iadd
if_icmplt 8
end local 8 end local 6 11: StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
12: aload 1
ifnull 18
13: iload 2
istore 6
start local 6 14: goto 17
15: StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int int
StackMap stack:
aload 4
iload 5
iinc 5 1
aload 1
iload 6
aaload
aastore
16: iinc 6 1
StackMap locals:
StackMap stack:
17: iload 6
iload 2
iload 3
iadd
if_icmplt 15
end local 6 18: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
aload 4
iconst_0
aload 4
arraylength
invokeinterface org.xnio.conduits.StreamSinkConduit.write:([Ljava/nio/ByteBuffer;II)J
lstore 6
start local 6 19: lload 6
aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
lcmp
ifle 22
20: aload 0
lconst_0
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
21: goto 23
22: StackMap locals: long
StackMap stack:
aload 0
dup
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
lload 6
lsub
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
23: StackMap locals:
StackMap stack:
lload 6
lstore 8
start local 8 24: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.frameQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
checkcast io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame
astore 10
start local 10 25: goto 36
26: StackMap locals: long io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame
StackMap stack:
aload 10
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.remaining:J
lload 8
lcmp
ifle 29
27: aload 10
dup
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.remaining:J
lload 8
lsub
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.remaining:J
28: lconst_0
lreturn
29: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.frameQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
pop
30: aload 10
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.callback:Lio/undertow/conduits/AbstractFramedStreamSinkConduit$FrameCallBack;
astore 11
start local 11 31: aload 11
ifnull 33
32: aload 11
invokeinterface io.undertow.conduits.AbstractFramedStreamSinkConduit$FrameCallBack.done:()V
33: StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit$FrameCallBack
StackMap stack:
aload 0
dup
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.bufferCount:I
aload 10
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.len:I
isub
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.bufferCount:I
34: lload 8
aload 10
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.remaining:J
lsub
lstore 8
end local 11 35: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.frameQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
checkcast io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame
astore 10
36: StackMap locals:
StackMap stack:
aload 10
ifnonnull 26
37: lload 8
38: lreturn
end local 10 end local 8 end local 6 39: StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int
StackMap stack: java.lang.Throwable
astore 6
start local 6 40: aload 6
instanceof java.io.IOException
ifeq 41
aload 6
checkcast java.io.IOException
goto 42
StackMap locals: java.lang.Throwable
StackMap stack:
41: new java.io.IOException
dup
aload 6
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack: java.io.IOException
42: astore 7
start local 7 43: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.frameQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 9
goto 48
StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int java.lang.Throwable java.io.IOException top java.util.Iterator
StackMap stack:
44: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame
astore 8
start local 8 45: aload 8
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.callback:Lio/undertow/conduits/AbstractFramedStreamSinkConduit$FrameCallBack;
astore 10
start local 10 46: aload 10
ifnull 48
47: aload 10
aload 7
invokeinterface io.undertow.conduits.AbstractFramedStreamSinkConduit$FrameCallBack.failed:(Ljava/io/IOException;)V
end local 10 end local 8 48: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
49: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.frameQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.clear:()V
50: aload 0
iconst_0
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.bufferCount:I
51: aload 0
lconst_0
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
52: goto 54
StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit java.nio.ByteBuffer[] int int java.nio.ByteBuffer[] int java.lang.Throwable java.io.IOException
StackMap stack: java.lang.Throwable
53: pop
54: StackMap locals:
StackMap stack:
aload 6
athrow
end local 7 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 55 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
0 55 1 additionalData [Ljava/nio/ByteBuffer;
0 55 2 offs I
0 55 3 len I
3 55 4 buffers [Ljava/nio/ByteBuffer;
4 55 5 count I
6 11 6 frame Lio/undertow/conduits/AbstractFramedStreamSinkConduit$Frame;
7 11 8 i I
14 18 6 i I
19 39 6 written J
24 39 8 toAllocate J
25 39 10 frame Lio/undertow/conduits/AbstractFramedStreamSinkConduit$Frame;
31 35 11 cb Lio/undertow/conduits/AbstractFramedStreamSinkConduit$FrameCallBack;
40 55 6 e Ljava/lang/Throwable;
43 55 7 ioe Ljava/io/IOException;
45 48 8 frame Lio/undertow/conduits/AbstractFramedStreamSinkConduit$Frame;
46 48 10 cb Lio/undertow/conduits/AbstractFramedStreamSinkConduit$FrameCallBack;
Exception table:
from to target type
18 28 39 Class java.io.IOException
29 38 39 Class java.io.IOException
18 28 39 Class java.lang.RuntimeException
29 38 39 Class java.lang.RuntimeException
18 28 39 Class java.lang.Error
29 38 39 Class java.lang.Error
43 53 53 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
additionalData
offs
len
protected long queuedDataLength();
descriptor: ()J
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
public void terminateWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.conduits.AbstractFramedStreamSinkConduit.queueCloseFrames:()V
3: aload 0
dup
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
iconst_1
ior
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
4: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
lconst_0
lcmp
ifne 8
5: aload 0
dup
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
iconst_2
ior
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
6: aload 0
invokevirtual io.undertow.conduits.AbstractFramedStreamSinkConduit.doTerminateWrites:()V
7: aload 0
invokevirtual io.undertow.conduits.AbstractFramedStreamSinkConduit.finished:()V
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
Exceptions:
throws java.io.IOException
protected void doTerminateWrites();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.terminateWrites:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
Exceptions:
throws java.io.IOException
protected boolean flushQueuedData();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
lconst_0
lcmp
ifle 2
1: aload 0
aconst_null
iconst_0
iconst_0
invokevirtual io.undertow.conduits.AbstractFramedStreamSinkConduit.doWrite:([Ljava/nio/ByteBuffer;II)J
pop2
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.queuedData:J
lconst_0
lcmp
ifle 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 8
aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
iconst_2
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 8
5: aload 0
invokevirtual io.undertow.conduits.AbstractFramedStreamSinkConduit.doTerminateWrites:()V
6: aload 0
dup
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
iconst_2
ior
putfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
7: aload 0
invokevirtual io.undertow.conduits.AbstractFramedStreamSinkConduit.finished:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.next:Lorg/xnio/conduits/Conduit;
checkcast org.xnio.conduits.StreamSinkConduit
invokeinterface org.xnio.conduits.StreamSinkConduit.flush:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
Exceptions:
throws java.io.IOException
public void truncateWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.frameQueue:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: io.undertow.conduits.AbstractFramedStreamSinkConduit top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame
astore 1
start local 1 2: aload 1
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame.callback:Lio/undertow/conduits/AbstractFramedStreamSinkConduit$FrameCallBack;
astore 3
start local 3 3: aload 3
ifnull 5
4: aload 3
getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.channelIsClosed:()Ljava/nio/channels/ClosedChannelException;
invokeinterface io.undertow.conduits.AbstractFramedStreamSinkConduit$FrameCallBack.failed:(Ljava/io/IOException;)V
end local 3 end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
2 5 1 frame Lio/undertow/conduits/AbstractFramedStreamSinkConduit$Frame;
3 5 3 cb Lio/undertow/conduits/AbstractFramedStreamSinkConduit$FrameCallBack;
Exceptions:
throws java.io.IOException
protected boolean isWritesTerminated();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.conduits.AbstractFramedStreamSinkConduit.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
protected void queueCloseFrames();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
protected void finished();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/conduits/AbstractFramedStreamSinkConduit;
}
Signature: Lorg/xnio/conduits/AbstractStreamSinkConduit<Lorg/xnio/conduits/StreamSinkConduit;>;
SourceFile: "AbstractFramedStreamSinkConduit.java"
NestMembers:
io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame io.undertow.conduits.AbstractFramedStreamSinkConduit$FrameCallBack io.undertow.conduits.AbstractFramedStreamSinkConduit$PooledBufferFrameCallback io.undertow.conduits.AbstractFramedStreamSinkConduit$PooledBuffersFrameCallback
InnerClasses:
private Frame = io.undertow.conduits.AbstractFramedStreamSinkConduit$Frame of io.undertow.conduits.AbstractFramedStreamSinkConduit
public abstract FrameCallBack = io.undertow.conduits.AbstractFramedStreamSinkConduit$FrameCallBack of io.undertow.conduits.AbstractFramedStreamSinkConduit
protected PooledBufferFrameCallback = io.undertow.conduits.AbstractFramedStreamSinkConduit$PooledBufferFrameCallback of io.undertow.conduits.AbstractFramedStreamSinkConduit
protected PooledBuffersFrameCallback = io.undertow.conduits.AbstractFramedStreamSinkConduit$PooledBuffersFrameCallback of io.undertow.conduits.AbstractFramedStreamSinkConduit