public abstract class io.undertow.server.protocol.framed.AbstractFramedChannel<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.ConnectedChannel
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.undertow.server.protocol.framed.AbstractFramedChannel
super_class: java.lang.Object
{
private final int maxQueuedBuffers;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.StreamConnection channel;
descriptor: Lorg/xnio/StreamConnection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.undertow.conduits.IdleTimeoutConduit idleTimeoutConduit;
descriptor: Lio/undertow/conduits/IdleTimeoutConduit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.ChannelListener$SimpleSetter<C> closeSetter;
descriptor: Lorg/xnio/ChannelListener$SimpleSetter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/xnio/ChannelListener$SimpleSetter<TC;>;
private final org.xnio.ChannelListener$SimpleSetter<C> receiveSetter;
descriptor: Lorg/xnio/ChannelListener$SimpleSetter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/xnio/ChannelListener$SimpleSetter<TC;>;
private final io.undertow.connector.ByteBufferPool bufferPool;
descriptor: Lio/undertow/connector/ByteBufferPool;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.undertow.server.protocol.framed.FramePriority<C, R, S> framePriority;
descriptor: Lio/undertow/server/protocol/framed/FramePriority;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lio/undertow/server/protocol/framed/FramePriority<TC;TR;TS;>;
private final java.util.List<S> pendingFrames;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<TS;>;
private final java.util.Deque<S> heldFrames;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<TS;>;
private final java.util.Deque<S> newFrames;
descriptor: Ljava/util/Deque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Deque<TS;>;
private volatile long frameDataRemaining;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile R receiver;
descriptor: Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: TR;
private volatile boolean receivesSuspendedByUser;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean receivesSuspendedTooManyQueuedMessages;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean receivesSuspendedTooManyBuffers;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int readsBroken;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int writesBroken;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel> readsBrokenUpdater;
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/AbstractFramedChannel;>;
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel> writesBrokenUpdater;
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/AbstractFramedChannel;>;
private volatile io.undertow.util.ReferenceCountedPooled readData;
descriptor: Lio/undertow/util/ReferenceCountedPooled;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.List<org.xnio.ChannelListener<C>> closeTasks;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lorg/xnio/ChannelListener<TC;>;>;
private volatile boolean flushingSenders;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean partialRead;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private volatile int outstandingBuffers;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.protocol.framed.AbstractFramedChannel> outstandingBuffersUpdater;
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/AbstractFramedChannel;>;
private final java.util.concurrent.LinkedBlockingDeque<java.lang.Runnable> taskRunQueue;
descriptor: Ljava/util/concurrent/LinkedBlockingDeque;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/LinkedBlockingDeque<Ljava/lang/Runnable;>;
private final java.lang.Runnable taskRunQueueRunnable;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.xnio.OptionMap settings;
descriptor: Lorg/xnio/OptionMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean requireExplicitFlush;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile boolean readChannelDone;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final int queuedFrameHighWaterMark;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int queuedFrameLowWaterMark;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.undertow.util.ReferenceCountedPooled$FreeNotifier freeNotifier;
descriptor: Lio/undertow/util/ReferenceCountedPooled$FreeNotifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final org.xnio.ChannelListener<io.undertow.server.protocol.framed.AbstractFramedChannel> DRAIN_LISTENER;
descriptor: Lorg/xnio/ChannelListener;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lorg/xnio/ChannelListener<Lio/undertow/server/protocol/framed/AbstractFramedChannel;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lio/undertow/server/protocol/framed/AbstractFramedChannel;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.$assertionsDisabled:Z
3: ldc Lio/undertow/server/protocol/framed/AbstractFramedChannel;
ldc "readsBroken"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.readsBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
4: ldc Lio/undertow/server/protocol/framed/AbstractFramedChannel;
ldc "writesBroken"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.writesBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
5: ldc Lio/undertow/server/protocol/framed/AbstractFramedChannel;
ldc "outstandingBuffers"
invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.outstandingBuffersUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
6: new io.undertow.server.protocol.framed.AbstractFramedChannel$3
dup
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$3.<init>:()V
putstatic io.undertow.server.protocol.framed.AbstractFramedChannel.DRAIN_LISTENER:Lorg/xnio/ChannelListener;
7: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(org.xnio.StreamConnection, io.undertow.connector.ByteBufferPool, io.undertow.server.protocol.framed.FramePriority<C, R, S>, io.undertow.connector.PooledByteBuffer, org.xnio.OptionMap);
descriptor: (Lorg/xnio/StreamConnection;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/framed/FramePriority;Lio/undertow/connector/PooledByteBuffer;Lorg/xnio/OptionMap;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
2: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
3: aload 0
new java.util.concurrent.LinkedBlockingDeque
dup
invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
4: aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedByUser:Z
5: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyQueuedMessages:Z
6: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyBuffers:Z
7: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readsBroken:I
8: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.writesBroken:I
9: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
10: aload 0
new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.closeTasks:Ljava/util/List;
11: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
12: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.partialRead:Z
13: aload 0
new java.util.concurrent.LinkedBlockingDeque
dup
invokespecial java.util.concurrent.LinkedBlockingDeque.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueue:Ljava/util/concurrent/LinkedBlockingDeque;
14: aload 0
new io.undertow.server.protocol.framed.AbstractFramedChannel$1
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$1.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueueRunnable:Ljava/lang/Runnable;
15: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.requireExplicitFlush:Z
16: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readChannelDone:Z
17: aload 0
new io.undertow.server.protocol.framed.AbstractFramedChannel$2
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$2.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.freeNotifier:Lio/undertow/util/ReferenceCountedPooled$FreeNotifier;
18: aload 0
aload 3
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
19: aload 0
aload 5
getstatic io.undertow.UndertowOptions.MAX_QUEUED_READ_BUFFERS:Lorg/xnio/Option;
bipush 10
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
20: aload 0
aload 5
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.settings:Lorg/xnio/OptionMap;
21: aload 4
ifnull 26
22: aload 4
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 25
23: aload 0
new io.undertow.util.ReferenceCountedPooled
dup
aload 4
iconst_1
invokespecial io.undertow.util.ReferenceCountedPooled.<init>:(Lio/undertow/connector/PooledByteBuffer;I)V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
24: goto 26
25: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel org.xnio.StreamConnection io.undertow.connector.ByteBufferPool io.undertow.server.protocol.framed.FramePriority io.undertow.connector.PooledByteBuffer org.xnio.OptionMap
StackMap stack:
aload 4
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
26: StackMap locals:
StackMap stack:
aload 2
ifnonnull 28
27: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
ldc "bufferPool"
invokeinterface io.undertow.UndertowMessages.argumentCannotBeNull:(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
athrow
28: StackMap locals:
StackMap stack:
aload 1
ifnonnull 30
29: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
ldc "connectedStreamChannel"
invokeinterface io.undertow.UndertowMessages.argumentCannotBeNull:(Ljava/lang/String;)Ljava/lang/IllegalArgumentException;
athrow
30: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.createIdleTimeoutChannel:(Lorg/xnio/StreamConnection;)Lio/undertow/conduits/IdleTimeoutConduit;
astore 6
start local 6 31: aload 1
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
aload 6
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.setConduit:(Lorg/xnio/conduits/StreamSourceConduit;)V
32: aload 1
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
aload 6
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.setConduit:(Lorg/xnio/conduits/StreamSinkConduit;)V
33: aload 0
aload 6
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.idleTimeoutConduit:Lio/undertow/conduits/IdleTimeoutConduit;
34: aload 0
aload 1
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
35: aload 0
aload 2
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.bufferPool:Lio/undertow/connector/ByteBufferPool;
36: aload 0
new org.xnio.ChannelListener$SimpleSetter
dup
invokespecial org.xnio.ChannelListener$SimpleSetter.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.closeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
37: aload 0
new org.xnio.ChannelListener$SimpleSetter
dup
invokespecial org.xnio.ChannelListener$SimpleSetter.<init>:()V
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiveSetter:Lorg/xnio/ChannelListener$SimpleSetter;
38: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getReadSetter:()Lorg/xnio/ChannelListener$Setter;
aconst_null
invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
39: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.suspendReads:()V
40: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getReadSetter:()Lorg/xnio/ChannelListener$Setter;
new io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
41: aload 1
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getWriteSetter:()Lorg/xnio/ChannelListener$Setter;
new io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
42: new io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
astore 7
start local 7 43: aload 1
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.getCloseSetter:()Lorg/xnio/ChannelListener$Setter;
aload 7
invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
44: aload 1
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.getCloseSetter:()Lorg/xnio/ChannelListener$Setter;
aload 7
invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
45: aload 0
aload 5
getstatic io.undertow.UndertowOptions.QUEUED_FRAMES_HIGH_WATER_MARK:Lorg/xnio/Option;
bipush 50
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.queuedFrameHighWaterMark:I
46: aload 0
aload 5
getstatic io.undertow.UndertowOptions.QUEUED_FRAMES_LOW_WATER_MARK:Lorg/xnio/Option;
bipush 10
invokevirtual org.xnio.OptionMap.get:(Lorg/xnio/Option;I)I
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.queuedFrameLowWaterMark:I
47: return
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 48 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 48 1 connectedStreamChannel Lorg/xnio/StreamConnection;
0 48 2 bufferPool Lio/undertow/connector/ByteBufferPool;
0 48 3 framePriority Lio/undertow/server/protocol/framed/FramePriority<TC;TR;TS;>;
0 48 4 readData Lio/undertow/connector/PooledByteBuffer;
0 48 5 settings Lorg/xnio/OptionMap;
31 48 6 idle Lio/undertow/conduits/IdleTimeoutConduit;
43 48 7 closeListener Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>.FrameCloseListener;
Signature: (Lorg/xnio/StreamConnection;Lio/undertow/connector/ByteBufferPool;Lio/undertow/server/protocol/framed/FramePriority<TC;TR;TS;>;Lio/undertow/connector/PooledByteBuffer;Lorg/xnio/OptionMap;)V
MethodParameters:
Name Flags
connectedStreamChannel final
bufferPool
framePriority
readData final
settings
protected io.undertow.conduits.IdleTimeoutConduit createIdleTimeoutChannel(org.xnio.StreamConnection);
descriptor: (Lorg/xnio/StreamConnection;)Lio/undertow/conduits/IdleTimeoutConduit;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new io.undertow.conduits.IdleTimeoutConduit
dup
aload 1
invokespecial io.undertow.conduits.IdleTimeoutConduit.<init>:(Lorg/xnio/StreamConnection;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 1 1 connectedStreamChannel Lorg/xnio/StreamConnection;
MethodParameters:
Name Flags
connectedStreamChannel
void runInIoThread(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueue:Ljava/util/concurrent/LinkedBlockingDeque;
aload 1
invokevirtual java.util.concurrent.LinkedBlockingDeque.add:(Ljava/lang/Object;)Z
pop
1: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueueRunnable:Ljava/lang/Runnable;
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
2: goto 5
StackMap locals:
StackMap stack: java.util.concurrent.RejectedExecutionException
3: pop
4: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueueRunnable:Ljava/lang/Runnable;
invokestatic io.undertow.server.protocol.framed.ShutdownFallbackExecutor.execute:(Ljava/lang/Runnable;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 6 1 task Ljava/lang/Runnable;
Exception table:
from to target type
1 2 3 Class java.util.concurrent.RejectedExecutionException
MethodParameters:
Name Flags
task
public io.undertow.connector.ByteBufferPool getBufferPool();
descriptor: ()Lio/undertow/connector/ByteBufferPool;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.bufferPool:Lio/undertow/connector/ByteBufferPool;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public java.net.SocketAddress getLocalAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getLocalAddress:()Ljava/net/SocketAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public <A extends java.net.SocketAddress> A getLocalAddress(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
aload 1
invokevirtual org.xnio.StreamConnection.getLocalAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 1 1 type Ljava/lang/Class<TA;>;
Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;)TA;
MethodParameters:
Name Flags
type
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.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getWorker:()Lorg/xnio/XnioWorker;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<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.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public boolean supportsOption(org.xnio.Option<?>);
descriptor: (Lorg/xnio/Option;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
aload 1
invokevirtual org.xnio.StreamConnection.supportsOption:(Lorg/xnio/Option;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<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=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
aload 1
invokevirtual org.xnio.StreamConnection.getOption:(Lorg/xnio/Option;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 1 1 option Lorg/xnio/Option<TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;)TT;
MethodParameters:
Name Flags
option
public <T> T setOption(org.xnio.Option<T>, );
descriptor: (Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
aload 1
aload 2
invokevirtual org.xnio.StreamConnection.setOption:(Lorg/xnio/Option;Ljava/lang/Object;)Ljava/lang/Object;
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/AbstractFramedChannel<TC;TR;TS;>;
0 1 1 option Lorg/xnio/Option<TT;>;
0 1 2 value TT;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lorg/xnio/Option<TT;>;TT;)TT;
MethodParameters:
Name Flags
option
value
public boolean isOpen();
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.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.isOpen:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public java.net.SocketAddress getPeerAddress();
descriptor: ()Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getPeerAddress:()Ljava/net/SocketAddress;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public <A extends java.net.SocketAddress> A getPeerAddress(java.lang.Class<A>);
descriptor: (Ljava/lang/Class;)Ljava/net/SocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
aload 1
invokevirtual org.xnio.StreamConnection.getPeerAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 1 1 type Ljava/lang/Class<TA;>;
Signature: <A:Ljava/net/SocketAddress;>(Ljava/lang/Class<TA;>;)TA;
MethodParameters:
Name Flags
type
public java.net.InetSocketAddress getSourceAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/net/InetSocketAddress;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getPeerAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public java.net.InetSocketAddress getDestinationAddress();
descriptor: ()Ljava/net/InetSocketAddress;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/net/InetSocketAddress;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getLocalAddress:(Ljava/lang/Class;)Ljava/net/SocketAddress;
checkcast java.net.InetSocketAddress
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public synchronized R receive();
descriptor: ()Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=5, locals=14, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readChannelDone:Z
ifeq 7
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
ifnonnull 7
1: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 4
2: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
3: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
4: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.suspendReads:()V
5: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.shutdownReads:()V
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.partialRead:Z
8: iconst_0
istore 1
start local 1 9: iconst_0
istore 2
start local 2 10: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
astore 3
start local 3 11: iconst_0
istore 4
start local 4 12: aload 3
ifnonnull 16
13: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.allocateReferenceCountedBuffer:()Lio/undertow/util/ReferenceCountedPooled;
astore 3
14: aload 3
ifnonnull 25
15: aconst_null
areturn
16: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifeq 23
17: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.tryUnfree:()Z
ifne 21
18: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.allocateReferenceCountedBuffer:()Lio/undertow/util/ReferenceCountedPooled;
astore 3
19: aload 3
ifnonnull 21
20: aconst_null
areturn
21: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
22: goto 25
23: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
istore 4
24: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
pop
25: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 26: iconst_0
istore 6
start local 6 27: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.read:(Ljava/nio/ByteBuffer;)I
istore 6
28: iload 6
ifne 43
iload 4
ifne 43
29: iconst_1
istore 5
30: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 35
31: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 32
iload 5
ifeq 35
32: StackMap locals: int int
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
sipush 1024
if_icmplt 33
iload 5
ifeq 34
33: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
34: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
35: StackMap locals:
StackMap stack:
iload 1
ifeq 42
36: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 41
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 41
37: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpne 41
38: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
39: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
40: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Partial message read before connection close %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
41: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
42: StackMap locals:
StackMap stack:
aconst_null
areturn
43: StackMap locals:
StackMap stack:
iload 6
iconst_m1
if_icmpne 60
iload 4
ifne 60
44: iconst_1
istore 5
45: aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readChannelDone:Z
46: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.lastDataRead:()V
47: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 52
48: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 49
iload 5
ifeq 52
49: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
sipush 1024
if_icmplt 50
iload 5
ifeq 51
50: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
51: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
52: StackMap locals:
StackMap stack:
iload 1
ifeq 59
53: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 58
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 58
54: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpne 58
55: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
56: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
57: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Partial message read before connection close %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
58: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
59: StackMap locals:
StackMap stack:
aconst_null
areturn
60: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.isLastFrameReceived:()Z
ifeq 63
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
lconst_0
lcmp
ifne 63
61: iconst_1
istore 5
62: aload 0
new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.markReadsBroken:(Ljava/lang/Throwable;)V
63: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
pop
64: iload 6
iconst_m1
if_icmpne 67
65: iconst_1
istore 1
66: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
67: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
lconst_0
lcmp
ifle 111
68: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lcmp
iflt 91
69: aload 0
dup
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lsub
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
70: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
ifnull 74
71: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.createView:()Lio/undertow/connector/PooledByteBuffer;
astore 7
start local 7 72: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
aconst_null
aload 7
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.dataReady:(Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)V
end local 7 73: goto 76
74: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
75: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
76: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
lconst_0
lcmp
ifne 78
77: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
78: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 83
79: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 80
iload 5
ifeq 83
80: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
sipush 1024
if_icmplt 81
iload 5
ifeq 82
81: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
82: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
83: StackMap locals:
StackMap stack:
iload 1
ifeq 90
84: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 89
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 89
85: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpne 89
86: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
87: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
88: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Partial message read before connection close %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
89: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
90: StackMap locals:
StackMap stack:
aconst_null
areturn
91: StackMap locals:
StackMap stack:
aload 3
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
l2i
invokevirtual io.undertow.util.ReferenceCountedPooled.createView:(I)Lio/undertow/connector/PooledByteBuffer;
astore 7
start local 7 92: aload 0
lconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
93: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
ifnull 96
94: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
aconst_null
aload 7
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.dataReady:(Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)V
95: goto 97
96: StackMap locals: io.undertow.connector.PooledByteBuffer
StackMap stack:
aload 7
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
97: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
end local 7 98: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 103
99: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 100
iload 5
ifeq 103
100: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
sipush 1024
if_icmplt 101
iload 5
ifeq 102
101: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
102: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
103: StackMap locals:
StackMap stack:
iload 1
ifeq 110
104: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 109
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 109
105: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpne 109
106: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
107: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
108: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Partial message read before connection close %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
109: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
110: StackMap locals:
StackMap stack:
aconst_null
areturn
111: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.parseFrame:(Ljava/nio/ByteBuffer;)Lio/undertow/server/protocol/framed/FrameHeaderData;
astore 7
start local 7 112: aload 7
ifnull 164
113: aload 7
invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lcmp
iflt 118
114: aload 0
aload 7
invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lsub
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.frameDataRemaining:J
115: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.createView:()Lio/undertow/connector/PooledByteBuffer;
astore 8
start local 8 116: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
117: goto 119
end local 8 118: StackMap locals: io.undertow.server.protocol.framed.FrameHeaderData
StackMap stack:
aload 3
aload 7
invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
l2i
invokevirtual io.undertow.util.ReferenceCountedPooled.createView:(I)Lio/undertow/connector/PooledByteBuffer;
astore 8
start local 8 119: StackMap locals: io.undertow.connector.PooledByteBuffer
StackMap stack:
aload 7
invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getExistingChannel:()Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
astore 9
start local 9 120: aload 9
ifnull 139
121: aload 7
invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
aload 8
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lcmp
ifle 123
122: aload 0
aload 9
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
123: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
StackMap stack:
aload 9
aload 7
aload 8
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.dataReady:(Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)V
124: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.isLastFrameReceived:()Z
ifeq 126
125: aload 0
aload 9
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.handleLastFrame:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;)V
126: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 131
127: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 128
iload 5
ifeq 131
128: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
sipush 1024
if_icmplt 129
iload 5
ifeq 130
129: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
130: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
131: StackMap locals:
StackMap stack:
iload 1
ifeq 138
132: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 137
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 137
133: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpne 137
134: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
135: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
136: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Partial message read before connection close %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
137: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
138: StackMap locals:
StackMap stack:
aconst_null
areturn
139: StackMap locals:
StackMap stack:
aload 7
invokeinterface io.undertow.server.protocol.framed.FrameHeaderData.getFrameLength:()J
aload 8
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lcmp
ifle 140
iconst_1
goto 141
StackMap locals:
StackMap stack:
140: iconst_0
StackMap locals:
StackMap stack: int
141: istore 10
start local 10 142: aload 0
aload 7
aload 8
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.createChannel:(Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
astore 11
start local 11 143: aload 11
ifnull 149
144: iload 10
ifeq 146
145: aload 0
aload 11
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
146: StackMap locals: int io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.isLastFrameReceived:()Z
ifeq 150
147: aload 0
aload 11
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.handleLastFrame:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;)V
148: goto 150
149: StackMap locals:
StackMap stack:
aload 8
invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
150: StackMap locals:
StackMap stack:
aload 11
astore 13
151: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 156
152: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 153
iload 5
ifeq 156
153: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int int int io.undertow.server.protocol.framed.FrameHeaderData io.undertow.connector.PooledByteBuffer io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel top io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
sipush 1024
if_icmplt 154
iload 5
ifeq 155
154: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
155: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
156: StackMap locals:
StackMap stack:
iload 1
ifeq 163
157: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 162
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 162
158: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpne 162
159: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
160: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
161: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Partial message read before connection close %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
162: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
163: StackMap locals:
StackMap stack:
aload 13
areturn
end local 11 end local 10 end local 9 end local 8 164: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int int int io.undertow.server.protocol.framed.FrameHeaderData
StackMap stack:
aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.partialRead:Z
165: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 170
166: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 167
iload 5
ifeq 170
167: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
sipush 1024
if_icmplt 168
iload 5
ifeq 169
168: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
169: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
170: StackMap locals:
StackMap stack:
iload 1
ifeq 177
171: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 176
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 176
172: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpne 176
173: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
174: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
175: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Partial message read before connection close %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
176: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
177: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 7 178: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int int int
StackMap stack: java.lang.Throwable
astore 7
start local 7 179: aload 0
aload 7
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.markReadsBroken:(Ljava/lang/Throwable;)V
180: iconst_1
istore 5
181: aload 7
athrow
end local 7 182: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
183: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 188
184: aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 185
iload 5
ifeq 188
185: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int int io.undertow.util.ReferenceCountedPooled int int int top top top top top java.lang.Throwable
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
sipush 1024
if_icmplt 186
iload 5
ifeq 187
186: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
187: StackMap locals:
StackMap stack:
aload 3
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
188: StackMap locals:
StackMap stack:
iload 1
ifeq 195
189: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 194
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 194
190: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpne 194
191: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
192: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
193: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Partial message read before connection close %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
194: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
195: StackMap locals:
StackMap stack:
aload 12
athrow
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 196 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
9 196 1 requiresReinvoke Z
10 196 2 reinvokeDataRemaining I
11 196 3 pooled Lio/undertow/util/ReferenceCountedPooled;
12 196 4 hasData Z
26 196 5 forceFree Z
27 196 6 read I
72 73 7 frameData Lio/undertow/connector/PooledByteBuffer;
92 98 7 frameData Lio/undertow/connector/PooledByteBuffer;
112 178 7 data Lio/undertow/server/protocol/framed/FrameHeaderData;
116 118 8 frameData Lio/undertow/connector/PooledByteBuffer;
119 164 8 frameData Lio/undertow/connector/PooledByteBuffer;
120 164 9 existing Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<***>;
142 164 10 moreData Z
143 164 11 newChannel TR;
179 182 7 e Ljava/lang/Throwable;
Exception table:
from to target type
27 30 178 Class java.io.IOException
43 47 178 Class java.io.IOException
60 78 178 Class java.io.IOException
91 98 178 Class java.io.IOException
111 126 178 Class java.io.IOException
139 151 178 Class java.io.IOException
164 165 178 Class java.io.IOException
27 30 178 Class java.lang.RuntimeException
43 47 178 Class java.lang.RuntimeException
60 78 178 Class java.lang.RuntimeException
91 98 178 Class java.lang.RuntimeException
111 126 178 Class java.lang.RuntimeException
139 151 178 Class java.lang.RuntimeException
164 165 178 Class java.lang.RuntimeException
27 30 178 Class java.lang.Error
43 47 178 Class java.lang.Error
60 78 178 Class java.lang.Error
91 98 178 Class java.lang.Error
111 126 178 Class java.lang.Error
139 151 178 Class java.lang.Error
164 165 178 Class java.lang.Error
27 30 182 any
43 47 182 any
60 78 182 any
91 98 182 any
111 126 182 any
139 151 182 any
164 165 182 any
178 182 182 any
Exceptions:
throws java.io.IOException
Signature: ()TR;
private void handleLastFrame(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel);
descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.util.HashSet
dup
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getReceivers:()Ljava/util/Collection;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel java.util.Set top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
astore 3
start local 3 3: aload 3
aload 1
if_acmpeq 5
4: aload 3
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.markStreamBroken:()V
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 7 1 newChannel Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
1 7 2 receivers Ljava/util/Set<Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;>;
3 5 3 r Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;
MethodParameters:
Name Flags
newChannel
private io.undertow.util.ReferenceCountedPooled allocateReferenceCountedBuffer();
descriptor: ()Lio/undertow/util/ReferenceCountedPooled;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=3, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
ifle 16
1: StackMap locals:
StackMap stack:
getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.outstandingBuffersUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.get:(Ljava/lang/Object;)I
istore 1
start local 1 2: iload 1
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
if_icmpne 15
3: aload 0
dup
astore 2
monitorenter
4: getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.outstandingBuffersUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.get:(Ljava/lang/Object;)I
istore 1
5: iload 1
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
if_icmpne 11
6: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
invokeinterface io.undertow.UndertowLogger.isTraceEnabled:()Z
ifeq 8
7: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Suspending reads on %s due to too many outstanding buffers"
aload 0
invokeinterface io.undertow.UndertowLogger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
8: StackMap locals: int io.undertow.server.protocol.framed.AbstractFramedChannel
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
dup
aload 0
aconst_null
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aconst_null
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
9: aload 2
monitorexit
10: aconst_null
areturn
11: StackMap locals:
StackMap stack:
aload 2
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 2
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.outstandingBuffersUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iload 1
iload 1
iconst_1
iadd
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 1
end local 1 16: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.bufferPool:Lio/undertow/connector/ByteBufferPool;
invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
astore 1
start local 1 17: aload 0
18: new io.undertow.util.ReferenceCountedPooled
dup
aload 1
iconst_1
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.maxQueuedBuffers:I
ifle 19
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.freeNotifier:Lio/undertow/util/ReferenceCountedPooled$FreeNotifier;
goto 20
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel io.undertow.connector.PooledByteBuffer
StackMap stack: io.undertow.server.protocol.framed.AbstractFramedChannel new 18 new 18 io.undertow.connector.PooledByteBuffer int
19: aconst_null
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel io.undertow.connector.PooledByteBuffer
StackMap stack: io.undertow.server.protocol.framed.AbstractFramedChannel new 18 new 18 io.undertow.connector.PooledByteBuffer int io.undertow.util.ReferenceCountedPooled$FreeNotifier
20: invokespecial io.undertow.util.ReferenceCountedPooled.<init>:(Lio/undertow/connector/PooledByteBuffer;ILio/undertow/util/ReferenceCountedPooled$FreeNotifier;)V
dup_x1
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
2 16 1 expect I
17 21 1 buf Lio/undertow/connector/PooledByteBuffer;
Exception table:
from to target type
4 10 13 any
11 12 13 any
13 14 13 any
protected void lastDataRead();
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/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
protected abstract R createChannel(io.undertow.server.protocol.framed.FrameHeaderData, io.undertow.connector.PooledByteBuffer);
descriptor: (Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
Signature: (Lio/undertow/server/protocol/framed/FrameHeaderData;Lio/undertow/connector/PooledByteBuffer;)TR;
MethodParameters:
Name Flags
frameHeaderData
frameData
protected abstract io.undertow.server.protocol.framed.FrameHeaderData (java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Lio/undertow/server/protocol/framed/FrameHeaderData;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
protected synchronized void recalculateHeldFrames();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 3
1: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
aconst_null
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
invokeinterface io.undertow.server.protocol.framed.FramePriority.frameAdded:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;Ljava/util/List;Ljava/util/Deque;)V
2: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.flushSenders:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
Exceptions:
throws java.io.IOException
protected synchronized void flushSenders();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=6, locals=16, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
ifeq 2
1: getstatic io.undertow.UndertowMessages.MESSAGES:Lio/undertow/UndertowMessages;
invokeinterface io.undertow.UndertowMessages.recursiveCallToFlushingSenders:()Ljava/lang/RuntimeException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
3: iconst_0
istore 1
start local 1 4: goto 11
start local 2 5: StackMap locals: int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
StackMap stack:
aload 2
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.preWrite:()V
6: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
aload 2
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokeinterface io.undertow.server.protocol.framed.FramePriority.insertFrame:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;Ljava/util/List;)Z
ifeq 10
7: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 11
8: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
aload 2
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
invokeinterface io.undertow.server.protocol.framed.FramePriority.frameAdded:(Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;Ljava/util/List;Ljava/util/Deque;)V
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
aload 2
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
end local 2 11: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
dup
astore 2
start local 2 12: ifnonnull 5
13: iconst_0
istore 3
start local 3 14: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
astore 4
start local 4 15: goto 21
16: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
astore 5
start local 5 17: aload 5
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isReadyForFlush:()Z
ifeq 22
18: iinc 1 1
19: aload 5
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isLastFrame:()Z
ifeq 21
20: iconst_1
istore 3
end local 5 21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 16
22: StackMap locals:
StackMap stack:
iload 1
ifne 33
23: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.flush:()Z
ifeq 29
24: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
25: goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
26: astore 5
start local 5 27: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
28: aload 0
aload 5
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.markWritesBroken:(Ljava/lang/Throwable;)V
end local 5 29: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
30: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 32
31: aload 0
new io.undertow.server.protocol.framed.AbstractFramedChannel$4
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$4.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
32: StackMap locals:
StackMap stack:
return
33: StackMap locals:
StackMap stack:
iload 1
iconst_3
imul
anewarray java.nio.ByteBuffer
astore 5
start local 5 34: iconst_0
istore 6
start local 6 35: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
astore 4
36: goto 52
37: StackMap locals: java.nio.ByteBuffer[] int
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
astore 7
start local 7 38: aload 7
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getFrameHeader:()Lio/undertow/server/protocol/framed/SendFrameHeader;
astore 8
start local 8 39: aload 8
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
astore 9
start local 9 40: aload 8
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getTrailer:()Ljava/nio/ByteBuffer;
astore 10
start local 10 41: aload 5
iload 6
iconst_3
imul
aload 9
ifnull 43
42: aload 9
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
goto 44
43: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
StackMap stack: java.nio.ByteBuffer[] int
getstatic org.xnio.Buffers.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
44: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
StackMap stack: java.nio.ByteBuffer[] int java.nio.ByteBuffer
aastore
45: aload 5
iload 6
iconst_3
imul
iconst_1
iadd
aload 7
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
ifnonnull 46
getstatic org.xnio.Buffers.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
goto 47
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
StackMap stack: java.nio.ByteBuffer[] int
46: aload 7
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
StackMap stack: java.nio.ByteBuffer[] int java.nio.ByteBuffer
47: aastore
48: aload 5
iload 6
iconst_3
imul
iconst_2
iadd
aload 10
ifnull 49
aload 10
goto 50
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
StackMap stack: java.nio.ByteBuffer[] int
49: getstatic org.xnio.Buffers.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.server.protocol.framed.SendFrameHeader io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
StackMap stack: java.nio.ByteBuffer[] int java.nio.ByteBuffer
50: aastore
51: iinc 6 1
end local 10 end local 9 end local 8 end local 7 52: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int
StackMap stack:
iload 6
iload 1
if_icmplt 37
53: aload 5
invokestatic org.xnio.Buffers.remaining:([Ljava/nio/Buffer;)J
lstore 7
start local 7 54: StackMap locals: long
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
aload 5
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.write:([Ljava/nio/ByteBuffer;)J
lstore 9
start local 9 55: lload 7
lload 9
lsub
lstore 7
56: lload 9
lconst_0
lcmp
ifle 58
lload 7
lconst_0
57: lcmp
ifgt 54
58: StackMap locals: long
StackMap stack:
iload 1
istore 11
start local 11 59: goto 70
60: StackMap locals: int
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
astore 12
start local 12 61: aload 12
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getFrameHeader:()Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getByteBuffer:()Lio/undertow/connector/PooledByteBuffer;
astore 13
start local 13 62: aload 12
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getFrameHeader:()Lio/undertow/server/protocol/framed/SendFrameHeader;
invokevirtual io.undertow.server.protocol.framed.SendFrameHeader.getTrailer:()Ljava/nio/ByteBuffer;
astore 14
start local 14 63: aload 13
ifnull 64
aload 13
invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 71
64: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel io.undertow.connector.PooledByteBuffer java.nio.ByteBuffer
StackMap stack:
aload 12
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
ifnull 65
aload 12
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 71
65: StackMap locals:
StackMap stack:
aload 14
ifnull 67
aload 14
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 67
66: goto 71
67: StackMap locals:
StackMap stack:
aload 12
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.flushComplete:()V
68: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
aload 12
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
69: iinc 11 -1
end local 14 end local 13 end local 12 70: StackMap locals:
StackMap stack:
iload 11
ifgt 60
71: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 72
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.flush:()Z
ifne 74
72: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
73: goto 75
74: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
75: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 81
iload 3
ifeq 81
76: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.shutdownWrites:()V
77: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.flush:()Z
ifne 96
78: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
aconst_null
aconst_null
invokestatic org.xnio.ChannelListeners.flushingChannelListener:(Lorg/xnio/ChannelListener;Lorg/xnio/ChannelExceptionHandler;)Lorg/xnio/ChannelListener;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.setWriteListener:(Lorg/xnio/ChannelListener;)V
79: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
80: goto 96
StackMap locals:
StackMap stack:
81: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.queuedFrameHighWaterMark:I
if_icmple 84
82: new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
dup
aload 0
aconst_null
aconst_null
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.run:()V
83: goto 96
StackMap locals:
StackMap stack:
84: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyQueuedMessages:Z
ifeq 96
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.queuedFrameLowWaterMark:I
if_icmpge 96
85: new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
dup
aload 0
aconst_null
aconst_null
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.run:()V
end local 11 end local 9 end local 7 86: goto 96
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel int io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel int java.util.ListIterator java.nio.ByteBuffer[] int
StackMap stack: java.lang.Throwable
87: astore 7
start local 7 88: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
89: aload 0
aload 7
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.markWritesBroken:(Ljava/lang/Throwable;)V
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 90: goto 96
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel
StackMap stack: java.lang.Throwable
91: astore 15
92: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
93: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 95
94: aload 0
new io.undertow.server.protocol.framed.AbstractFramedChannel$4
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$4.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
95: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel top top top top top top top top top top top top top top java.lang.Throwable
StackMap stack:
aload 15
athrow
96: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel
StackMap stack:
aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
97: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 99
98: aload 0
new io.undertow.server.protocol.framed.AbstractFramedChannel$4
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$4.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
99: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 100 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
4 90 1 toSend I
5 11 2 frame TS;
12 90 2 frame TS;
14 90 3 finalFrame Z
15 90 4 it Ljava/util/ListIterator<TS;>;
17 21 5 sender TS;
27 29 5 e Ljava/lang/Throwable;
34 90 5 data [Ljava/nio/ByteBuffer;
35 90 6 j I
38 52 7 next TS;
39 52 8 frameHeader Lio/undertow/server/protocol/framed/SendFrameHeader;
40 52 9 frameHeaderByteBuffer Lio/undertow/connector/PooledByteBuffer;
41 52 10 frameTrailerBuffer Ljava/nio/ByteBuffer;
54 86 7 toWrite J
55 86 9 res J
59 86 11 max I
61 70 12 sinkChannel TS;
62 70 13 frameHeaderByteBuffer Lio/undertow/connector/PooledByteBuffer;
63 70 14 frameTrailerBuffer Ljava/nio/ByteBuffer;
88 90 7 e Ljava/lang/Throwable;
Exception table:
from to target type
23 25 26 Class java.lang.Throwable
36 86 87 Class java.io.IOException
36 86 87 Class java.lang.RuntimeException
36 86 87 Class java.lang.Error
3 29 91 any
33 91 91 any
void awaitWritable();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.awaitWritable:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
Exceptions:
throws java.io.IOException
void awaitWritable(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
lload 1
aload 3
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.awaitWritable:(JLjava/util/concurrent/TimeUnit;)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 2 1 time J
0 2 3 unit Ljava/util/concurrent/TimeUnit;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
time
unit
protected void queueFrame();
descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.$assertionsDisabled:Z
ifne 1
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
aload 1
invokeinterface java.util.Deque.contains:(Ljava/lang/Object;)Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.isWritesBroken:()Z
ifne 2
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.isOpen:()Z
ifeq 2
aload 1
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isBroken:()Z
ifne 2
aload 1
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isOpen:()Z
ifne 4
2: StackMap locals:
StackMap stack:
aload 1
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
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.AbstractFramedChannel.newFrames:Ljava/util/Deque;
aload 1
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
5: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.requireExplicitFlush:Z
ifeq 6
aload 1
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isBufferFull:()Z
ifeq 7
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.flush:()V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 8 1 channel TS;
Exceptions:
throws java.io.IOException
Signature: (TS;)V
MethodParameters:
Name Flags
channel final
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.flushingSenders:Z
ifne 5
1: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getIoThread:()Lorg/xnio/XnioIoThread;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
if_acmpne 4
2: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.flushSenders:()V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
new io.undertow.server.protocol.framed.AbstractFramedChannel$5
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$5.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
protected abstract boolean isLastFrameReceived();
descriptor: ()Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract boolean isLastFrameSent();
descriptor: ()Z
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected abstract void handleBrokenSourceChannel(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
e
protected abstract void handleBrokenSinkChannel(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
e
public org.xnio.ChannelListener$Setter<C> getReceiveSetter();
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.AbstractFramedChannel.receiveSetter:Lorg/xnio/ChannelListener$SimpleSetter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
Signature: ()Lorg/xnio/ChannelListener$Setter<TC;>;
public synchronized void suspendReceives();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedByUser:Z
1: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
dup
aload 0
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aconst_null
aconst_null
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public synchronized void resumeReceives();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedByUser:Z
1: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getIoThread:()Lorg/xnio/XnioIoThread;
new io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
dup
aload 0
iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aconst_null
aconst_null
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)V
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
private void doResume();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 3
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 3
1: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.wakeupReads:()V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokevirtual org.xnio.conduits.ConduitStreamSourceChannel.resumeReads:()V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public boolean isReceivesResumed();
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.AbstractFramedChannel.receivesSuspendedByUser:Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
invokeinterface io.undertow.UndertowLogger.isTraceEnabled:()Z
ifeq 2
1: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
ldc "Channel %s is being closed"
aload 0
invokeinterface io.undertow.UndertowLogger.tracef:(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
3: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 6
4: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.close:()V
5: aload 0
aconst_null
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.closeSubChannels:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
Exceptions:
throws java.io.IOException
public org.xnio.ChannelListener$Setter<? extends io.undertow.server.protocol.framed.AbstractFramedChannel> 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.AbstractFramedChannel.closeSetter:Lorg/xnio/ChannelListener$SimpleSetter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
Signature: ()Lorg/xnio/ChannelListener$Setter<+Lio/undertow/server/protocol/framed/AbstractFramedChannel;>;
protected void markReadsBroken(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.readsBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 12
1: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
invokeinterface io.undertow.UndertowLogger.isDebugEnabled:()Z
ifeq 3
2: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
ldc "Marking reads broken on channel %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
ifnull 5
4: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.markStreamBroken:()V
5: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.getReceivers:()Ljava/util/Collection;
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel java.lang.Throwable top java.util.Iterator
StackMap stack:
6: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
astore 2
start local 2 7: aload 2
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel.markStreamBroken:()V
end local 2 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: aload 0
aload 1
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.handleBrokenSourceChannel:(Ljava/lang/Throwable;)V
10: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
11: aload 0
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.closeSubChannels:()V
12: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel java.lang.Throwable
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 13 1 cause Ljava/lang/Throwable;
7 8 2 r Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;
MethodParameters:
Name Flags
cause
protected abstract void closeSubChannels();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
protected void markWritesBroken(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.writesBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 25
1: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
invokeinterface io.undertow.UndertowLogger.isDebugEnabled:()Z
ifeq 3
2: getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
new java.nio.channels.ClosedChannelException
dup
invokespecial java.nio.channels.ClosedChannelException.<init>:()V
ldc "Marking writes broken on channel %s"
aload 0
invokeinterface io.undertow.UndertowLogger.debugf:(Ljava/lang/Throwable;Ljava/lang/String;Ljava/lang/Object;)V
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.handleBrokenSinkChannel:(Ljava/lang/Throwable;)V
4: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
5: aload 0
dup
astore 2
monitorenter
6: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel java.lang.Throwable io.undertow.server.protocol.framed.AbstractFramedChannel top java.util.Iterator
StackMap stack:
7: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
astore 3
start local 3 8: aload 3
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.markBroken:()V
end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokeinterface java.util.List.clear:()V
11: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals:
StackMap stack:
12: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
astore 3
start local 3 13: aload 3
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.markBroken:()V
end local 3 14: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.clear:()V
16: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
astore 4
goto 19
StackMap locals:
StackMap stack:
17: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
astore 3
start local 3 18: aload 3
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.markBroken:()V
end local 3 19: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
invokeinterface java.util.Deque.clear:()V
21: aload 2
monitorexit
22: goto 25
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel java.lang.Throwable io.undertow.server.protocol.framed.AbstractFramedChannel
StackMap stack: java.lang.Throwable
23: aload 2
monitorexit
24: athrow
25: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 26 1 cause Ljava/lang/Throwable;
8 9 3 channel TS;
13 14 3 channel TS;
18 19 3 channel TS;
Exception table:
from to target type
6 22 23 any
23 24 23 any
MethodParameters:
Name Flags
cause
protected boolean isWritesBroken();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.writesBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.get:(Ljava/lang/Object;)I
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
protected boolean isReadsBroken();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.readsBrokenUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.get:(Ljava/lang/Object;)I
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
void resumeWrites();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.resumeWrites:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
void suspendWrites();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.suspendWrites:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
void wakeupWrites();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSinkChannel:()Lorg/xnio/conduits/ConduitStreamSinkChannel;
invokevirtual org.xnio.conduits.ConduitStreamSinkChannel.wakeupWrites:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
org.xnio.channels.StreamSourceChannel getSourceChannel();
descriptor: ()Lorg/xnio/channels/StreamSourceChannel;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getSourceChannel:()Lorg/xnio/conduits/ConduitStreamSourceChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
void notifyFrameReadComplete(io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C, R, S>);
descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;)V
flags: (0x0000)
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/AbstractFramedChannel<TC;TR;TS;>;
0 1 1 channel Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;
Signature: (Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;)V
MethodParameters:
Name Flags
channel
private boolean isReadsSuspended();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedByUser:Z
ifne 1
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyBuffers:Z
ifne 1
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receivesSuspendedTooManyQueuedMessages:Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
protected abstract java.util.Collection<io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel<C, R, S>> getReceivers();
descriptor: ()Ljava/util/Collection;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Signature: ()Ljava/util/Collection<Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel<TC;TR;TS;>;>;
public void setIdleTimeout(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.idleTimeoutConduit:Lio/undertow/conduits/IdleTimeoutConduit;
lload 1
invokevirtual io.undertow.conduits.IdleTimeoutConduit.setIdleTimeout:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 2 1 timeout J
MethodParameters:
Name Flags
timeout
public long getIdleTimeout();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.idleTimeoutConduit:Lio/undertow/conduits/IdleTimeoutConduit;
invokevirtual io.undertow.conduits.IdleTimeoutConduit.getIdleTimeout:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
protected io.undertow.server.protocol.framed.FramePriority<C, R, S> getFramePriority();
descriptor: ()Lio/undertow/server/protocol/framed/FramePriority;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.framePriority:Lio/undertow/server/protocol/framed/FramePriority;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
Signature: ()Lio/undertow/server/protocol/framed/FramePriority<TC;TR;TS;>;
public void addCloseTask(org.xnio.ChannelListener<C>);
descriptor: (Lorg/xnio/ChannelListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.closeTasks:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 2 1 task Lorg/xnio/ChannelListener<TC;>;
Signature: (Lorg/xnio/ChannelListener<TC;>;)V
MethodParameters:
Name Flags
task final
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " peer "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getPeerAddress:()Ljava/net/SocketAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " local "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
invokevirtual org.xnio.StreamConnection.getLocalAddress:()Ljava/net/SocketAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "[ "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
ifnonnull 1
ldc "No Receiver"
goto 2
StackMap locals:
StackMap stack: java.lang.StringBuilder
1: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel
StackMap stack: java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.pendingFrames:Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " -- "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.heldFrames:Ljava/util/Deque;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " -- "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.newFrames:Ljava/util/Deque;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
protected org.xnio.StreamConnection getUnderlyingConnection();
descriptor: ()Lorg/xnio/StreamConnection;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.channel:Lorg/xnio/StreamConnection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
protected org.xnio.ChannelExceptionHandler<org.xnio.channels.SuspendableWriteChannel> writeExceptionHandler();
descriptor: ()Lorg/xnio/ChannelExceptionHandler;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new io.undertow.server.protocol.framed.AbstractFramedChannel$6
dup
aload 0
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$6.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
Signature: ()Lorg/xnio/ChannelExceptionHandler<Lorg/xnio/channels/SuspendableWriteChannel;>;
public boolean isRequireExplicitFlush();
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.AbstractFramedChannel.requireExplicitFlush:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
public void setRequireExplicitFlush(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.requireExplicitFlush:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<TC;TR;TS;>;
0 2 1 requireExplicitFlush Z
MethodParameters:
Name Flags
requireExplicitFlush
protected org.xnio.OptionMap getSettings();
descriptor: ()Lorg/xnio/OptionMap;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.settings:Lorg/xnio/OptionMap;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel<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/ConnectedChannel;
SourceFile: "AbstractFramedChannel.java"
NestMembers:
io.undertow.server.protocol.framed.AbstractFramedChannel$1 io.undertow.server.protocol.framed.AbstractFramedChannel$2 io.undertow.server.protocol.framed.AbstractFramedChannel$2$1 io.undertow.server.protocol.framed.AbstractFramedChannel$3 io.undertow.server.protocol.framed.AbstractFramedChannel$4 io.undertow.server.protocol.framed.AbstractFramedChannel$5 io.undertow.server.protocol.framed.AbstractFramedChannel$6 io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener$1 io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener$2 io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1 io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState
InnerClasses:
io.undertow.server.protocol.framed.AbstractFramedChannel$1
io.undertow.server.protocol.framed.AbstractFramedChannel$2
io.undertow.server.protocol.framed.AbstractFramedChannel$3
io.undertow.server.protocol.framed.AbstractFramedChannel$4
io.undertow.server.protocol.framed.AbstractFramedChannel$5
io.undertow.server.protocol.framed.AbstractFramedChannel$6
private FrameCloseListener = io.undertow.server.protocol.framed.AbstractFramedChannel$FrameCloseListener of io.undertow.server.protocol.framed.AbstractFramedChannel
private final FrameReadListener = io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener of io.undertow.server.protocol.framed.AbstractFramedChannel
private FrameWriteListener = io.undertow.server.protocol.framed.AbstractFramedChannel$FrameWriteListener of io.undertow.server.protocol.framed.AbstractFramedChannel
private UpdateResumeState = io.undertow.server.protocol.framed.AbstractFramedChannel$UpdateResumeState of io.undertow.server.protocol.framed.AbstractFramedChannel
public abstract FreeNotifier = io.undertow.util.ReferenceCountedPooled$FreeNotifier of io.undertow.util.ReferenceCountedPooled
public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener
public SimpleSetter = org.xnio.ChannelListener$SimpleSetter of org.xnio.ChannelListener