final class io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener implements org.xnio.ChannelListener<org.xnio.channels.StreamSourceChannel>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener
super_class: java.lang.Object
{
final io.undertow.server.protocol.framed.AbstractFramedChannel this$0;
descriptor: Lio/undertow/server/protocol/framed/AbstractFramedChannel;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(io.undertow.server.protocol.framed.AbstractFramedChannel);
descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedChannel;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel$FrameReadListener;
MethodParameters:
Name Flags
this$0 final
public void handleEvent(org.xnio.channels.StreamSourceChannel);
descriptor: (Lorg/xnio/channels/StreamSourceChannel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: goto 2
start local 2 1: StackMap locals: java.lang.Runnable
StackMap stack:
aload 2
invokeinterface java.lang.Runnable.run:()V
end local 2 2: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.taskRunQueue:Ljava/util/concurrent/LinkedBlockingDeque;
invokevirtual java.util.concurrent.LinkedBlockingDeque.poll:()Ljava/lang/Object;
checkcast java.lang.Runnable
dup
astore 2
start local 2 3: ifnonnull 1
4: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiver:Lio/undertow/server/protocol/framed/AbstractFramedStreamSourceChannel;
astore 3
start local 3 5: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readChannelDone:Z
ifne 6
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.isReadsSuspended:()Z
ifeq 9
StackMap locals: java.lang.Runnable io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
StackMap stack:
6: aload 3
ifnonnull 9
7: aload 1
invokeinterface org.xnio.channels.StreamSourceChannel.suspendReads:()V
8: return
9: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.receiveSetter:Lorg/xnio/ChannelListener$SimpleSetter;
invokevirtual org.xnio.ChannelListener$SimpleSetter.get:()Lorg/xnio/ChannelListener;
astore 4
start local 4 10: aload 4
ifnonnull 12
11: getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.DRAIN_LISTENER:Lorg/xnio/ChannelListener;
astore 4
12: StackMap locals: org.xnio.ChannelListener
StackMap stack:
getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Invoking receive listener"
aload 3
invokeinterface io.undertow.UndertowLogger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
13: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
aload 4
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
pop
end local 4 14: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
dup
astore 5
monitorenter
15: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.partialRead:Z
istore 4
start local 4 16: aload 5
monitorexit
17: goto 20
end local 4 StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener org.xnio.channels.StreamSourceChannel java.lang.Runnable io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel top io.undertow.server.protocol.framed.AbstractFramedChannel
StackMap stack: java.lang.Throwable
18: aload 5
monitorexit
19: athrow
start local 4 20: StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener org.xnio.channels.StreamSourceChannel java.lang.Runnable io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel int
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
ifnull 25
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedChannel.readData:Lio/undertow/util/ReferenceCountedPooled;
invokevirtual io.undertow.util.ReferenceCountedPooled.isFreed:()Z
ifne 25
aload 1
invokeinterface org.xnio.channels.StreamSourceChannel.isOpen:()Z
ifeq 25
iload 4
ifne 25
21: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
new io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1
dup
aload 0
aload 1
invokespecial io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1.<init>:(Lio/undertow/server/protocol/framed/AbstractFramedChannel$FrameReadListener;Lorg/xnio/channels/StreamSourceChannel;)V
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel.runInIoThread:(Ljava/lang/Runnable;)V
22: goto 25
StackMap locals:
StackMap stack: java.util.concurrent.RejectedExecutionException
23: pop
24: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
25: StackMap locals:
StackMap stack:
aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
dup
astore 5
monitorenter
26: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedChannel.partialRead:Z
27: aload 5
monitorexit
28: goto 31
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener org.xnio.channels.StreamSourceChannel java.lang.Runnable io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel int io.undertow.server.protocol.framed.AbstractFramedChannel
StackMap stack: java.lang.Throwable
29: aload 5
monitorexit
30: athrow
31: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel$FrameReadListener;
0 32 1 channel Lorg/xnio/channels/StreamSourceChannel;
1 2 2 runnable Ljava/lang/Runnable;
3 32 2 runnable Ljava/lang/Runnable;
5 32 3 receiver TR;
10 14 4 listener Lorg/xnio/ChannelListener;
16 18 4 partialRead Z
20 32 4 partialRead Z
Exception table:
from to target type
15 17 18 any
18 19 18 any
21 22 23 Class java.util.concurrent.RejectedExecutionException
26 28 29 any
29 30 29 any
MethodParameters:
Name Flags
channel final
public void handleEvent(java.nio.channels.Channel);
descriptor: (Ljava/nio/channels/Channel;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.xnio.channels.StreamSourceChannel
invokevirtual io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent:(Lorg/xnio/channels/StreamSourceChannel;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lorg/xnio/ChannelListener<Lorg/xnio/channels/StreamSourceChannel;>;
SourceFile: "AbstractFramedChannel.java"
NestHost: io.undertow.server.protocol.framed.AbstractFramedChannel
InnerClasses:
private final FrameReadListener = io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener of io.undertow.server.protocol.framed.AbstractFramedChannel
io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1
public SimpleSetter = org.xnio.ChannelListener$SimpleSetter of org.xnio.ChannelListener