public abstract class io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel<C extends io.undertow.server.protocol.framed.AbstractFramedChannel<C, R, S>, R extends io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C, R, S>, S extends io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel<C, R, S>> implements org.xnio.channels.StreamSinkChannel
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
super_class: java.lang.Object
{
private static final io.undertow.connector.PooledByteBuffer EMPTY_BYTE_BUFFER;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final C channel;
descriptor: Lio/undertow/server/protocol/framed/AbstractFramedChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: TC;
private final org.xnio.ChannelListener$SimpleSetter<S> writeSetter;
descriptor: Lorg/xnio/ChannelListener$SimpleSetter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/xnio/ChannelListener$SimpleSetter<TS;>;
private final org.xnio.ChannelListener$SimpleSetter<S> closeSetter;
descriptor: Lorg/xnio/ChannelListener$SimpleSetter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/xnio/ChannelListener$SimpleSetter<TS;>;
private final java.lang.Object lock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile int state;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean readyForFlush;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean fullyFlushed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean finalFrameQueued;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean broken;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int waiterCount;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile io.undertow.server.protocol.framed.SendFrameHeader ;
descriptor: Lio/undertow/server/protocol/framed/SendFrameHeader;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile io.undertow.connector.PooledByteBuffer writeBuffer;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile io.undertow.connector.PooledByteBuffer body;
descriptor: Lio/undertow/connector/PooledByteBuffer;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final int STATE_CLOSED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int STATE_WRITES_SHUTDOWN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int STATE_FIRST_DATA_WRITTEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int STATE_PRE_WRITE_CALLED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private volatile boolean bufferFull;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean writesResumed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int inListenerLoop;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel> inListenerLoopUpdater;
descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new io.undertow.util.ImmediatePooledByteBuffer
dup
iconst_0
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
invokespecial io.undertow.util.ImmediatePooledByteBuffer.<init>:(Ljava/nio/ByteBuffer;)V
putstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.EMPTY_BYTE_BUFFER:Lio/undertow/connector/PooledByteBuffer;
1: ldc Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
ldc "inListenerLoop"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
putstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.inListenerLoopUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.xnio.ChannelListener$SimpleSetter
dup
invokespecial org.xnio.ChannelListener$SimpleSetter.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
2: aload 0
new org.xnio.ChannelListener$SimpleSetter
dup
invokespecial org.xnio.ChannelListener$SimpleSetter.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.closeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
3: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
4: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
5: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
6: aload 0
aload 1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channel:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 8 1 channel TC;
Signature: (TC;)V
MethodParameters:
Name Flags
channel
public long transferFrom(java.nio.channels.FileChannel, long, long);
descriptor: (Ljava/nio/channels/FileChannel;JJ)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
lload 2
lload 4
aload 0
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/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
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=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
lload 2
aload 4
aload 0
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/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
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 void suspendWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writesResumed:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
final io.undertow.server.protocol.framed.SendFrameHeader ();
descriptor: ()Lio/undertow/server/protocol/framed/SendFrameHeader;
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
ifnonnull 4
1: aload 0
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.createFrameHeader:()Lio/undertow/server/protocol/framed/SendFrameHeader;
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
2: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
ifnonnull 4
3: aload 0
new io.undertow.server.protocol.framed.SendFrameHeader
dup
iconst_0
aconst_null
invokespecial io.undertow.server.protocol.framed.SendFrameHeader.<init>:(ILio/undertow/connector/PooledByteBuffer;)V
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exceptions:
throws java.io.IOException
protected io.undertow.server.protocol.framed.SendFrameHeader ();
descriptor: ()Lio/undertow/server/protocol/framed/SendFrameHeader;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exceptions:
throws java.io.IOException
final void preWrite();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
bipush 8
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 4
2: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
bipush 8
ior
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
3: aload 0
aload 0
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.preWriteTransform:(Lio/undertow/connector/PooledByteBuffer;)Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exception table:
from to target type
1 5 6 any
6 7 6 any
protected io.undertow.connector.PooledByteBuffer preWriteTransform(io.undertow.connector.PooledByteBuffer);
descriptor: (Lio/undertow/connector/PooledByteBuffer;)Lio/undertow/connector/PooledByteBuffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 1 1 body Lio/undertow/connector/PooledByteBuffer;
MethodParameters:
Name Flags
body
public boolean isWriteResumed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writesResumed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public void wakeupWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.resumeWritesInternal:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public void resumeWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.resumeWritesInternal:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
protected void resumeWritesInternal(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writesResumed:Z
istore 2
start local 2 1: iload 1
ifne 3
iload 2
ifeq 3
2: return
3: StackMap locals: int
StackMap stack:
aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writesResumed:Z
4: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifeq 6
iload 1
ifne 6
5: return
6: StackMap locals:
StackMap stack:
getstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.inListenerLoopUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 8
7: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
new io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;)V
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 9 1 wakeup Z
1 9 2 alreadyResumed Z
MethodParameters:
Name Flags
wakeup
public void shutdownWrites();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 2
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ifeq 4
2: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
3: return
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.queueFinalFrame:()V
5: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_2
ior
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
6: aload 1
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exception table:
from to target type
1 3 8 any
4 7 8 any
8 9 8 any
Exceptions:
throws java.io.IOException
private void queueFinalFrame();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifne 12
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.fullyFlushed:Z
ifne 12
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 12
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ifne 12
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.finalFrameQueued:Z
ifne 12
2: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 5
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 5
3: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.sendWriteBuffer:()V
4: goto 7
StackMap locals: java.lang.Object
StackMap stack:
5: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 7
6: aload 0
getstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.EMPTY_BYTE_BUFFER:Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
7: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
8: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_4
ior
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
9: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_2
ior
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
10: aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.finalFrameQueued:Z
11: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channel:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.queueFrame:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;)V
12: StackMap locals:
StackMap stack:
aload 1
monitorexit
13: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
14: aload 1
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exception table:
from to target type
1 13 14 any
14 15 14 any
Exceptions:
throws java.io.IOException
protected boolean isFinalFrameQueued();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.finalFrameQueued:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public void awaitWritable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
if_acmpne 2
1: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.awaitCalledFromIoThread:()Ljava/io/IOException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
3: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 4
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ifeq 6
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
5: return
6: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifeq 17
7: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
iconst_1
iadd
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
8: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifeq 16
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 16
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ifne 16
9: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
invokevirtual java.lang.Object.wait:()V
10: goto 16
StackMap locals:
StackMap stack: java.lang.InterruptedException
11: pop
12: new java.io.InterruptedIOException
dup
invokespecial java.io.InterruptedIOException.<init>:()V
athrow
13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
14: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
iconst_1
isub
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
15: aload 2
athrow
16: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
iconst_1
isub
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
17: StackMap locals:
StackMap stack:
aload 1
monitorexit
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 1
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exception table:
from to target type
7 10 11 Class java.lang.InterruptedException
7 13 13 any
3 5 19 any
6 18 19 any
19 20 19 any
Exceptions:
throws java.io.IOException
public void awaitWritable(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 3 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
if_acmpne 2
1: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.awaitCalledFromIoThread:()Ljava/io/IOException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 4
monitorenter
3: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 4
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ifeq 6
4: StackMap locals: java.lang.Object
StackMap stack:
aload 4
monitorexit
5: return
6: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifeq 17
7: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
iconst_1
iadd
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
8: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifeq 16
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 16
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ifne 16
9: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
aload 3
lload 1
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual java.lang.Object.wait:(J)V
10: goto 16
StackMap locals:
StackMap stack: java.lang.InterruptedException
11: pop
12: new java.io.InterruptedIOException
dup
invokespecial java.io.InterruptedIOException.<init>:()V
athrow
13: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
14: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
iconst_1
isub
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
15: aload 5
athrow
16: StackMap locals:
StackMap stack:
aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
iconst_1
isub
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
17: StackMap locals:
StackMap stack:
aload 4
monitorexit
18: goto 21
StackMap locals:
StackMap stack: java.lang.Throwable
19: aload 4
monitorexit
20: athrow
21: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 22 1 l J
0 22 3 timeUnit Ljava/util/concurrent/TimeUnit;
Exception table:
from to target type
7 10 11 Class java.lang.InterruptedException
7 13 13 any
3 5 19 any
6 18 19 any
19 20 19 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
l
timeUnit
public org.xnio.XnioExecutor getWriteThread();
descriptor: ()Lorg/xnio/XnioExecutor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channel:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public org.xnio.ChannelListener$Setter<? extends S> getWriteSetter();
descriptor: ()Lorg/xnio/ChannelListener$Setter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Signature: ()Lorg/xnio/ChannelListener$Setter<+TS;>;
public org.xnio.ChannelListener$Setter<? extends S> getCloseSetter();
descriptor: ()Lorg/xnio/ChannelListener$Setter;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.closeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Signature: ()Lorg/xnio/ChannelListener$Setter<+TS;>;
public org.xnio.XnioWorker getWorker();
descriptor: ()Lorg/xnio/XnioWorker;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channel:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getWorker:()Lorg/xnio/XnioWorker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public org.xnio.XnioIoThread getIoThread();
descriptor: ()Lorg/xnio/XnioIoThread;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channel:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public boolean flush();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ifeq 4
3: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.channelIsClosed:()Ljava/nio/channels/ClosedChannelException;
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifeq 6
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
7: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.fullyFlushed:Z
ifeq 11
8: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
ior
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
9: aload 1
monitorexit
10: iconst_1
ireturn
11: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 1
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 18
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.finalFrameQueued:Z
ifne 18
16: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.queueFinalFrame:()V
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 20
19: iconst_0
ireturn
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isFlushRequiredOnEmptyBuffer:()Z
ifne 21
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 25
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
ifle 25
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.handleBufferFull:()V
22: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifeq 23
iconst_0
goto 24
StackMap locals:
StackMap stack:
23: iconst_1
StackMap locals:
StackMap stack: int
24: ireturn
25: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exception table:
from to target type
7 10 13 any
11 12 13 any
13 14 13 any
Exceptions:
throws java.io.IOException
protected boolean isFlushRequiredOnEmptyBuffer();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.safeToSend:()Z
ifne 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 4
3: aload 0
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getBufferPool:()Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 4
start local 4 5: aload 4
aload 1
iload 2
iload 3
invokestatic org.xnio.Buffers.copy:(Ljava/nio/ByteBuffer;[Ljava/nio/ByteBuffer;II)I
istore 5
start local 5 6: aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 8
7: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.handleBufferFull:()V
8: StackMap locals: java.nio.ByteBuffer int
StackMap stack:
iload 5
i2l
lreturn
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 9 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 9 1 srcs [Ljava/nio/ByteBuffer;
0 9 2 offset I
0 9 3 length I
5 9 4 buffer Ljava/nio/ByteBuffer;
6 9 5 copied I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
offset
length
public long write(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.server.protocol.framed.AbstractFramedStreamSinkChannel.write:([Ljava/nio/ByteBuffer;II)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 1 1 srcs [Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
public int write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.safeToSend:()Z
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 4
3: aload 0
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getBufferPool:()Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
astore 2
start local 2 5: aload 2
aload 1
invokestatic org.xnio.Buffers.copy:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
istore 3
start local 3 6: aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 8
7: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.handleBufferFull:()V
8: StackMap locals: java.nio.ByteBuffer int
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 9 1 src Ljava/nio/ByteBuffer;
5 9 2 buffer Ljava/nio/ByteBuffer;
6 9 3 copied I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
public boolean send(io.undertow.connector.PooledByteBuffer);
descriptor: (Lio/undertow/connector/PooledByteBuffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isWritesShutdown:()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
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.sendInternal:(Lio/undertow/connector/PooledByteBuffer;)Z
istore 2
start local 2 3: iload 2
ifeq 5
4: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.flush:()Z
pop
5: StackMap locals: int
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 6 1 pooled Lio/undertow/connector/PooledByteBuffer;
3 6 2 result Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
pooled
protected boolean sendInternal(io.undertow.connector.PooledByteBuffer);
descriptor: (Lio/undertow/connector/PooledByteBuffer;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.safeToSend:()Z
ifeq 3
1: aload 0
aload 1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
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 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 4 1 pooled Lio/undertow/connector/PooledByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
pooled
protected boolean safeToSend();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
istore 1
start local 1 1: iload 1
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifne 2
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ifeq 3
2: StackMap locals: int
StackMap stack:
getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.channelIsClosed:()Ljava/nio/channels/ClosedChannelException;
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifeq 5
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnull 7
6: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.bodyIsSetAndNotReadyForFlush:()Ljava/lang/IllegalStateException;
athrow
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
1 8 1 state I
Exceptions:
throws java.io.IOException
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.channels.Channels.writeFinalBasic:(Lorg/xnio/channels/StreamSinkChannel;[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/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
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 writeFinal(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.server.protocol.framed.AbstractFramedStreamSinkChannel.writeFinal:([Ljava/nio/ByteBuffer;II)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 1 1 srcs [Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcs
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.channels.Channels.writeFinalBasic:(Lorg/xnio/channels/StreamSinkChannel;Ljava/nio/ByteBuffer;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 1 1 src Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
src
private void handleBufferFull();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.bufferFull:Z
2: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifne 7
3: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.sendWriteBuffer:()V
4: aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
5: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_4
ior
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
6: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channel:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.queueFrame:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;)V
7: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exception table:
from to target type
1 8 9 any
9 10 9 any
Exceptions:
throws java.io.IOException
private void sendWriteBuffer();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 2
1: aload 0
getstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.EMPTY_BYTE_BUFFER:Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
3: aload 0
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.sendInternal:(Lio/undertow/connector/PooledByteBuffer;)Z
ifne 5
4: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.failedToSendAfterBeingSafe:()Ljava/lang/IllegalStateException;
athrow
5: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exceptions:
throws java.io.IOException
protected abstract boolean isLastFrame();
descriptor: ()Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
public boolean isReadyForFlush();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public boolean isWritesShutdown();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_2
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public boolean isOpen();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.allAreClear:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.fullyFlushed:Z
ifne 1
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
3: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
ior
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
4: aload 1
monitorexit
5: goto 8
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel java.lang.Object
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 11
9: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
10: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
11: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnull 14
12: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
13: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
14: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
ifnull 17
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
ifnull 17
15: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
16: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channelForciblyClosed:()V
18: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isWriteResumed:()Z
ifeq 20
19: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
aload 0
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getWriteListener:()Lorg/xnio/ChannelListener;
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/util/concurrent/Executor;Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)V
20: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.wakeupWrites:()V
21: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 2
23: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.wakeupWaiters:()V
24: aload 2
athrow
25: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.wakeupWaiters:()V
26: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exception table:
from to target type
3 5 6 any
6 7 6 any
2 22 22 any
Exceptions:
throws java.io.IOException
protected void channelForciblyClosed();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isFirstDataWritten:()Z
ifeq 2
1: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getChannel:()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
aconst_null
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.markWritesBroken:(Ljava/lang/Throwable;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.wakeupWaiters:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exceptions:
throws java.io.IOException
public boolean supportsOption(org.xnio.Option<?>);
descriptor: (Lorg/xnio/Option;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 1 1 option Lorg/xnio/Option<*>;
Signature: (Lorg/xnio/Option<*>;)Z
MethodParameters:
Name Flags
option
public <T> T getOption(org.xnio.Option<T>);
descriptor: (Lorg/xnio/Option;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 1 1 tOption Lorg/xnio/Option<TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;)TT;
MethodParameters:
Name Flags
tOption
public <T> T setOption(org.xnio.Option<T>, );
descriptor: (Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 1 1 tOption Lorg/xnio/Option<TT;>;
0 1 2 t TT;
Exceptions:
throws java.lang.IllegalArgumentException, java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;TT;)TT;
MethodParameters:
Name Flags
tOption
t
public java.nio.ByteBuffer getBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ifeq 2
1: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnonnull 4
3: aload 0
getstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.EMPTY_BYTE_BUFFER:Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
final void flushComplete();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.bufferFull:Z
2: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getRemainingInBuffer:()I
istore 2
start local 2 3: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.finalFrameQueued:Z
istore 3
start local 3 4: iload 3
ifeq 5
iload 2
ifne 5
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.isAnotherFrameRequired:()Z
ifne 5
iconst_1
goto 6
StackMap locals: java.lang.Object int int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 4
start local 4 7: iload 2
ifle 12
8: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
9: iload 3
ifeq 23
10: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.finalFrameQueued:Z
11: goto 23
StackMap locals: int
StackMap stack:
12: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.isAnotherFrameRequired:()Z
ifeq 19
13: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.finalFrameQueued:Z
14: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnull 23
15: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
16: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
17: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
bipush -9
iand
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
18: goto 23
StackMap locals:
StackMap stack:
19: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnull 23
20: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
21: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
22: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
bipush -9
iand
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
23: StackMap locals:
StackMap stack:
iload 4
ifeq 30
24: aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.fullyFlushed:Z
25: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnull 35
26: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
27: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
28: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
bipush -9
iand
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
29: goto 35
StackMap locals:
StackMap stack:
30: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnull 35
31: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
32: aload 0
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
33: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
34: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
bipush -9
iand
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
35: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
ifnull 37
36: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
37: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
38: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
39: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isWriteResumed:()Z
ifeq 42
iload 4
ifne 42
40: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.wakeupWrites:()V
41: goto 44
StackMap locals:
StackMap stack:
42: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isWriteResumed:()Z
ifeq 44
43: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
aload 0
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getWriteListener:()Lorg/xnio/ChannelListener;
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/util/concurrent/Executor;Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)V
44: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.closeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
invokevirtual org.xnio.ChannelListener$SimpleSetter.get:()Lorg/xnio/ChannelListener;
astore 5
start local 5 45: iload 4
ifeq 47
aload 5
ifnull 47
46: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
aload 0
aload 5
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/util/concurrent/Executor;Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)V
47: StackMap locals: org.xnio.ChannelListener
StackMap stack:
aload 0
iload 4
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.handleFlushComplete:(Z)V
end local 5 end local 4 end local 3 end local 2 48: goto 52
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel java.lang.Object
StackMap stack: java.lang.Throwable
49: astore 6
50: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.wakeupWaiters:()V
51: aload 6
athrow
52: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.wakeupWaiters:()V
53: aload 1
monitorexit
54: goto 57
StackMap locals:
StackMap stack: java.lang.Throwable
55: aload 1
monitorexit
56: athrow
57: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
3 48 2 remaining I
4 48 3 finalFrame Z
7 48 4 channelClosed Z
45 48 5 closeListener Lorg/xnio/ChannelListener<-TS;>;
Exception table:
from to target type
1 49 49 any
1 54 55 any
55 56 55 any
Exceptions:
throws java.io.IOException
protected void handleFlushComplete(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
0 1 1 finalFrame Z
MethodParameters:
Name Flags
finalFrame
protected boolean isFirstDataWritten();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_4
invokestatic org.xnio.Bits.anyAreSet:(II)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public void markBroken();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
1: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.wakeupWrites:()V
2: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.wakeupWaiters:()V
3: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isWriteResumed:()Z
ifeq 7
4: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
invokevirtual org.xnio.ChannelListener$SimpleSetter.get:()Lorg/xnio/ChannelListener;
astore 1
start local 1 5: aload 1
ifnull 7
6: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
aload 0
aload 1
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/util/concurrent/Executor;Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)V
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.closeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
invokevirtual org.xnio.ChannelListener$SimpleSetter.get:()Lorg/xnio/ChannelListener;
astore 1
start local 1 8: aload 1
ifnull 23
9: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
aload 0
aload 1
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/util/concurrent/Executor;Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)V
end local 1 10: goto 23
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 2
12: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
ifnull 16
13: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
ifnull 16
14: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
15: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
16: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel top java.lang.Throwable
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnull 19
17: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
18: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
19: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 22
20: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
21: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
22: StackMap locals:
StackMap stack:
aload 2
athrow
23: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
ifnull 27
24: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
ifnull 27
25: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
26: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.header:Lio/undertow/server/protocol/framed/SendFrameHeader;
27: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
ifnull 30
28: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
29: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.body:Lio/undertow/connector/PooledByteBuffer;
30: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
ifnull 33
31: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
32: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeBuffer:Lio/undertow/connector/PooledByteBuffer;
33: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
5 7 1 writeListener Lorg/xnio/ChannelListener<-TS;>;
8 10 1 closeListener Lorg/xnio/ChannelListener<-TS;>;
Exception table:
from to target type
1 11 11 any
org.xnio.ChannelListener<? super S> getWriteListener();
descriptor: ()Lorg/xnio/ChannelListener;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
invokevirtual org.xnio.ChannelListener$SimpleSetter.get:()Lorg/xnio/ChannelListener;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Signature: ()Lorg/xnio/ChannelListener<-TS;>;
private void wakeupWaiters();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
ifle 8
1: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
dup
astore 1
monitorenter
2: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.waiterCount:I
ifle 4
3: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.lock:Ljava/lang/Object;
invokevirtual java.lang.Object.notifyAll:()V
4: StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Exception table:
from to target type
2 5 6 any
6 7 6 any
public C getChannel();
descriptor: ()Lio/undertow/server/protocol/framed/AbstractFramedChannel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.channel:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
Signature: ()TC;
public boolean isBroken();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
public boolean isBufferFull();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.bufferFull:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;
}
Signature: <C:Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;R:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;S:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel<TC;TR;TS;>;>Ljava/lang/Object;Lorg/xnio/channels/StreamSinkChannel;
SourceFile: "AbstractFramedStreamSinkChannel.java"
NestMembers:
io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1
InnerClasses:
io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1
public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener
public SimpleSetter = org.xnio.ChannelListener$SimpleSetter of org.xnio.ChannelListener