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=4, args_size=2
start local 0 start local 1 0: goto 2
1: 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
invokeinterface java.lang.Runnable.run:()V
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.isEmpty:()Z
ifeq 1
3: 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 2
start local 2 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.readChannelDone:Z
ifne 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.receivesSuspended:Z
ifeq 8
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
StackMap stack:
5: aload 2
ifnonnull 8
6: aload 1
invokeinterface org.xnio.channels.StreamSourceChannel.suspendReads:()V
7: return
8: 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 3
start local 3 9: aload 3
ifnonnull 11
10: getstatic io.undertow.server.protocol.framed.AbstractFramedChannel.DRAIN_LISTENER:Lorg/xnio/ChannelListener;
astore 3
11: StackMap locals: org.xnio.ChannelListener
StackMap stack:
getstatic io.undertow.UndertowLogger.REQUEST_IO_LOGGER:Lio/undertow/UndertowLogger;
ldc "Invoking receive listener"
aload 2
invokeinterface io.undertow.UndertowLogger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
12: aload 0
getfield io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.this$0:Lio/undertow/server/protocol/framed/AbstractFramedChannel;
aload 3
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
pop
end local 3 13: 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 18
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 18
aload 1
invokeinterface org.xnio.channels.StreamSourceChannel.isOpen:()Z
ifeq 18
14: 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
15: goto 18
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener org.xnio.channels.StreamSourceChannel io.undertow.server.protocol.framed.AbstractFramedStreamSourceChannel
StackMap stack: java.util.concurrent.RejectedExecutionException
16: pop
17: 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
18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/undertow/server/protocol/framed/AbstractFramedChannel$FrameReadListener;
0 19 1 channel Lorg/xnio/channels/StreamSourceChannel;
4 19 2 receiver TR;
9 13 3 listener Lorg/xnio/ChannelListener;
Exception table:
from to target type
14 15 16 Class java.util.concurrent.RejectedExecutionException
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