final class org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler extends org.glassfish.grizzly.http2.utils.ChunkedCompletionHandler
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler
super_class: org.glassfish.grizzly.http2.utils.ChunkedCompletionHandler
{
final org.glassfish.grizzly.http2.DefaultOutputSink this$0;
descriptor: Lorg/glassfish/grizzly/http2/DefaultOutputSink;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.glassfish.grizzly.CompletionHandler<org.glassfish.grizzly.WriteResult>);
descriptor: (Lorg/glassfish/grizzly/http2/DefaultOutputSink;Lorg/glassfish/grizzly/CompletionHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler this
start local 2 // org.glassfish.grizzly.CompletionHandler parentCompletionHandler
0: .line 774
aload 0 /* this */
aload 1
putfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
1: .line 775
aload 0 /* this */
aload 2 /* parentCompletionHandler */
invokespecial org.glassfish.grizzly.http2.utils.ChunkedCompletionHandler.<init>:(Lorg/glassfish/grizzly/CompletionHandler;)V
2: .line 776
return
end local 2 // org.glassfish.grizzly.CompletionHandler parentCompletionHandler
end local 0 // org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/http2/DefaultOutputSink$FlushCompletionHandler;
0 3 2 parentCompletionHandler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult;>;
Signature: (Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/WriteResult;>;)V
MethodParameters:
Name Flags
this$0 final
parentCompletionHandler final
protected void done0();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=1
start local 0 // org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler this
0: .line 783
aload 0 /* this */
getfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
getfield org.glassfish.grizzly.http2.DefaultOutputSink.flushHandlersSync:Ljava/lang/Object;
dup
astore 1
monitorenter
1: .line 784
aload 0 /* this */
getfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
getfield org.glassfish.grizzly.http2.DefaultOutputSink.unflushedWritesCounter:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
pop
2: .line 785
aload 0 /* this */
getfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
getfield org.glassfish.grizzly.http2.DefaultOutputSink.flushHandlersQueue:Lorg/glassfish/grizzly/http2/BundleQueue;
ifnull 3
aload 0 /* this */
getfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
getfield org.glassfish.grizzly.http2.DefaultOutputSink.flushHandlersQueue:Lorg/glassfish/grizzly/http2/BundleQueue;
invokevirtual org.glassfish.grizzly.http2.BundleQueue.nextBundle:()Z
ifne 5
3: .line 786
StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
4: return
5: .line 783
StackMap locals:
StackMap stack:
aload 1
monitorexit
6: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
7: aload 1
monitorexit
8: athrow
9: .line 794
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
getfield org.glassfish.grizzly.http2.DefaultOutputSink.flushHandlersSync:Ljava/lang/Object;
dup
astore 3
monitorenter
10: .line 795
aload 0 /* this */
getfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
getfield org.glassfish.grizzly.http2.DefaultOutputSink.flushHandlersQueue:Lorg/glassfish/grizzly/http2/BundleQueue;
invokevirtual org.glassfish.grizzly.http2.BundleQueue.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.CompletionHandler
astore 2 /* handler */
start local 2 // org.glassfish.grizzly.CompletionHandler handler
11: .line 796
aload 0 /* this */
getfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
getfield org.glassfish.grizzly.http2.DefaultOutputSink.flushHandlersQueue:Lorg/glassfish/grizzly/http2/BundleQueue;
invokevirtual org.glassfish.grizzly.http2.BundleQueue.hasNext:()Z
istore 1 /* hasNext */
start local 1 // boolean hasNext
12: .line 794
aload 3
monitorexit
13: goto 16
end local 2 // org.glassfish.grizzly.CompletionHandler handler
end local 1 // boolean hasNext
StackMap locals: org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler top top java.lang.Object
StackMap stack: java.lang.Throwable
14: aload 3
monitorexit
15: athrow
start local 1 // boolean hasNext
start local 2 // org.glassfish.grizzly.CompletionHandler handler
16: .line 800
StackMap locals: org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler int org.glassfish.grizzly.CompletionHandler
StackMap stack:
aload 2 /* handler */
aload 0 /* this */
getfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
getfield org.glassfish.grizzly.http2.DefaultOutputSink.stream:Lorg/glassfish/grizzly/http2/Http2Stream;
invokeinterface org.glassfish.grizzly.CompletionHandler.completed:(Ljava/lang/Object;)V
17: .line 801
goto 19
StackMap locals:
StackMap stack: java.lang.Exception
18: pop
19: .line 803
StackMap locals:
StackMap stack:
iload 1 /* hasNext */
ifne 9
20: .line 804
return
end local 2 // org.glassfish.grizzly.CompletionHandler handler
end local 1 // boolean hasNext
end local 0 // org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/glassfish/grizzly/http2/DefaultOutputSink$FlushCompletionHandler;
12 14 1 hasNext Z
16 21 1 hasNext Z
11 14 2 handler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http2/Http2Stream;>;
16 21 2 handler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http2/Http2Stream;>;
Exception table:
from to target type
1 4 7 any
5 6 7 any
7 8 7 any
10 13 14 any
14 15 14 any
16 17 18 Class java.lang.Exception
}
SourceFile: "DefaultOutputSink.java"
NestHost: org.glassfish.grizzly.http2.DefaultOutputSink
InnerClasses:
private final FlushCompletionHandler = org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler of org.glassfish.grizzly.http2.DefaultOutputSink