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 785
aload 0 /* this */
aload 1
putfield org.glassfish.grizzly.http2.DefaultOutputSink$FlushCompletionHandler.this$0:Lorg/glassfish/grizzly/http2/DefaultOutputSink;
1: .line 786
aload 0 /* this */
aload 2 /* parentCompletionHandler */
invokespecial org.glassfish.grizzly.http2.utils.ChunkedCompletionHandler.<init>:(Lorg/glassfish/grizzly/CompletionHandler;)V
2: .line 787
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 791
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 792
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 793
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 4
3: .line 794
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 6
4: .line 795
StackMap locals: java.lang.Object
StackMap stack:
aload 1
monitorexit
5: return
6: .line 791
StackMap locals:
StackMap stack:
aload 1
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 1
monitorexit
9: athrow
10: .line 803
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
11: .line 804
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
12: .line 805
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
13: .line 803
aload 3
monitorexit
14: goto 17
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
15: aload 3
monitorexit
16: athrow
start local 1 // boolean hasNext
start local 2 // org.glassfish.grizzly.CompletionHandler handler
17: .line 809
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
18: .line 810
goto 20
StackMap locals:
StackMap stack: java.lang.Exception
19: pop
20: .line 812
StackMap locals:
StackMap stack:
iload 1 /* hasNext */
ifne 10
21: .line 813
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 22 0 this Lorg/glassfish/grizzly/http2/DefaultOutputSink$FlushCompletionHandler;
13 15 1 hasNext Z
17 22 1 hasNext Z
12 15 2 handler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http2/Http2Stream;>;
17 22 2 handler Lorg/glassfish/grizzly/CompletionHandler<Lorg/glassfish/grizzly/http2/Http2Stream;>;
Exception table:
from to target type
1 5 8 any
6 7 8 any
8 9 8 any
11 14 15 any
15 16 15 any
17 18 19 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