class io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1 implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1
super_class: java.lang.Object
{
int loopCount;
descriptor: I
flags: (0x0000)
final io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel this$0;
descriptor: Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel);
descriptor: (Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1 this
0: .line 197
aload 0 /* this */
aload 1
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 199
aload 0 /* this */
iconst_0
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.loopCount:I
2: .line 197
return
end local 0 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel$1;
MethodParameters:
Name Flags
this$0 final
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1 this
0: .line 204
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getWriteListener:()Lorg/xnio/ChannelListener;
astore 1 /* listener */
start local 1 // org.xnio.ChannelListener listener
1: .line 205
aload 1 /* listener */
ifnull 2
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.isWriteResumed:()Z
ifne 4
2: .line 217
StackMap locals: org.xnio.ChannelListener
StackMap stack:
getstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.inListenerLoopUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
3: .line 206
return
4: .line 208
StackMap locals:
StackMap stack:
aload 0 /* this */
dup
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.loopCount:I
dup_x1
iconst_1
iadd
putfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.loopCount:I
bipush 100
if_icmpne 9
5: .line 210
getstatic io.undertow.UndertowLogger.ROOT_LOGGER:Lio/undertow/UndertowLogger;
invokeinterface io.undertow.UndertowLogger.listenerNotProgressing:()V
6: .line 211
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
invokestatic org.xnio.IoUtils.safeClose:(Ljava/io/Closeable;)V
7: .line 217
getstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.inListenerLoopUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
8: .line 212
return
9: .line 214
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
aload 1 /* listener */
invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
pop
end local 1 // org.xnio.ChannelListener listener
10: .line 216
goto 14
StackMap locals: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1
StackMap stack: java.lang.Throwable
11: astore 2
12: .line 217
getstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.inListenerLoopUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
13: .line 218
aload 2
athrow
14: .line 217
StackMap locals:
StackMap stack:
getstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.inListenerLoopUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.set:(Ljava/lang/Object;I)V
15: .line 222
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.writesResumed:Z
ifeq 18
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.state:I
iconst_1
invokestatic org.xnio.Bits.allAreClear:(II)Z
ifeq 18
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.broken:Z
ifne 18
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.readyForFlush:Z
ifne 18
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.fullyFlushed:Z
ifne 18
16: .line 223
getstatic io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.inListenerLoopUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
ifeq 18
17: .line 224
aload 0 /* this */
getfield io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1.this$0:Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel;
invokevirtual io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
aload 0 /* this */
invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
18: .line 227
StackMap locals:
StackMap stack:
return
end local 0 // io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1 this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lio/undertow/server/protocol/framed/AbstractFramedStreamSinkChannel$1;
1 10 1 listener Lorg/xnio/ChannelListener<-TS;>;
Exception table:
from to target type
0 2 11 any
4 7 11 any
9 11 11 any
}
SourceFile: "AbstractFramedStreamSinkChannel.java"
EnclosingMethod: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel.resumeWritesInternal:(Z)V
NestHost: io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel
InnerClasses:
io.undertow.server.protocol.framed.AbstractFramedStreamSinkChannel$1