class jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask implements jdk.incubator.http.internal.common.SequentialScheduler$RestartableTask
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask
super_class: java.lang.Object
{
final jdk.incubator.http.internal.websocket.WebSocketImpl this$0;
descriptor: Ljdk/incubator/http/internal/websocket/WebSocketImpl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(jdk.incubator.http.internal.websocket.WebSocketImpl);
descriptor: (Ljdk/incubator/http/internal/websocket/WebSocketImpl;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask.this$0:Ljdk/incubator/http/internal/websocket/WebSocketImpl;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/internal/websocket/WebSocketImpl$SendTask;
MethodParameters:
Name Flags
this$0 final
public void run(jdk.incubator.http.internal.common.SequentialScheduler$DeferredCompleter);
descriptor: (Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask.this$0:Ljdk/incubator/http/internal/websocket/WebSocketImpl;
getfield jdk.incubator.http.internal.websocket.WebSocketImpl.queue:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast jdk.incubator.http.internal.common.Pair
astore 2
start local 2 1: aload 2
ifnonnull 4
2: aload 1
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler$DeferredCompleter.complete:()V
3: return
4: StackMap locals: jdk.incubator.http.internal.common.Pair
StackMap stack:
aload 2
getfield jdk.incubator.http.internal.common.Pair.first:Ljava/lang/Object;
checkcast jdk.incubator.http.internal.websocket.OutgoingMessage
astore 3
start local 3 5: aload 2
getfield jdk.incubator.http.internal.common.Pair.second:Ljava/lang/Object;
checkcast java.util.concurrent.CompletableFuture
astore 4
start local 4 6: aload 3
aload 0
getfield jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask.this$0:Ljdk/incubator/http/internal/websocket/WebSocketImpl;
getfield jdk.incubator.http.internal.websocket.WebSocketImpl.context:Ljdk/incubator/http/internal/websocket/OutgoingMessage$Context;
invokevirtual jdk.incubator.http.internal.websocket.OutgoingMessage.contextualize:(Ljdk/incubator/http/internal/websocket/OutgoingMessage$Context;)Z
ifne 10
7: aload 4
aconst_null
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
8: aload 0
aload 1
invokevirtual jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask.repeat:(Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;)V
9: return
10: StackMap locals: jdk.incubator.http.internal.websocket.OutgoingMessage java.util.concurrent.CompletableFuture
StackMap stack:
aload 0
aload 4
aload 1
invokedynamic accept(Ljdk/incubator/http/internal/websocket/WebSocketImpl$SendTask;Ljava/util/concurrent/CompletableFuture;Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
jdk/incubator/http/internal/websocket/WebSocketImpl$SendTask.lambda$0(Ljava/util/concurrent/CompletableFuture;Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;Ljava/lang/Exception;)V (7)
(Ljava/lang/Exception;)V
astore 5
start local 5 11: aload 0
getfield jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask.this$0:Ljdk/incubator/http/internal/websocket/WebSocketImpl;
getfield jdk.incubator.http.internal.websocket.WebSocketImpl.transmitter:Ljdk/incubator/http/internal/websocket/Transmitter;
aload 3
aload 5
invokevirtual jdk.incubator.http.internal.websocket.Transmitter.send:(Ljdk/incubator/http/internal/websocket/OutgoingMessage;Ljava/util/function/Consumer;)V
end local 5 12: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 5
start local 5 14: aload 4
aload 5
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
15: aload 0
aload 1
invokevirtual jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask.repeat:(Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;)V
end local 5 16: 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 17 0 this Ljdk/incubator/http/internal/websocket/WebSocketImpl$SendTask;
0 17 1 taskCompleter Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;
1 17 2 p Ljdk/incubator/http/internal/common/Pair<Ljdk/incubator/http/internal/websocket/OutgoingMessage;Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/WebSocket;>;>;
5 17 3 message Ljdk/incubator/http/internal/websocket/OutgoingMessage;
6 17 4 cf Ljava/util/concurrent/CompletableFuture<Ljdk/incubator/http/WebSocket;>;
11 12 5 h Ljava/util/function/Consumer<Ljava/lang/Exception;>;
14 16 5 t Ljava/lang/Throwable;
Exception table:
from to target type
6 9 13 Class java.lang.Throwable
10 12 13 Class java.lang.Throwable
MethodParameters:
Name Flags
taskCompleter
private void repeat(jdk.incubator.http.internal.common.SequentialScheduler$DeferredCompleter);
descriptor: (Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler$DeferredCompleter.complete:()V
1: aload 0
getfield jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask.this$0:Ljdk/incubator/http/internal/websocket/WebSocketImpl;
getfield jdk.incubator.http.internal.websocket.WebSocketImpl.sendScheduler:Ljdk/incubator/http/internal/common/SequentialScheduler;
invokevirtual jdk.incubator.http.internal.common.SequentialScheduler.runOrSchedule:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/internal/websocket/WebSocketImpl$SendTask;
0 3 1 taskCompleter Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;
MethodParameters:
Name Flags
taskCompleter
private void lambda$0(java.util.concurrent.CompletableFuture, jdk.incubator.http.internal.common.SequentialScheduler$DeferredCompleter, java.lang.Exception);
descriptor: (Ljava/util/concurrent/CompletableFuture;Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;Ljava/lang/Exception;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 3 0: aload 3
ifnonnull 3
1: aload 1
aload 0
getfield jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask.this$0:Ljdk/incubator/http/internal/websocket/WebSocketImpl;
invokevirtual java.util.concurrent.CompletableFuture.complete:(Ljava/lang/Object;)Z
pop
2: goto 4
3: StackMap locals:
StackMap stack:
aload 1
aload 3
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
4: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask.repeat:(Ljdk/incubator/http/internal/common/SequentialScheduler$DeferredCompleter;)V
5: return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/internal/websocket/WebSocketImpl$SendTask;
0 6 3 e Ljava/lang/Exception;
}
SourceFile: "WebSocketImpl.java"
NestHost: jdk.incubator.http.internal.websocket.WebSocketImpl
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract DeferredCompleter = jdk.incubator.http.internal.common.SequentialScheduler$DeferredCompleter of jdk.incubator.http.internal.common.SequentialScheduler
public abstract RestartableTask = jdk.incubator.http.internal.common.SequentialScheduler$RestartableTask of jdk.incubator.http.internal.common.SequentialScheduler
public Context = jdk.incubator.http.internal.websocket.OutgoingMessage$Context of jdk.incubator.http.internal.websocket.OutgoingMessage
private SendTask = jdk.incubator.http.internal.websocket.WebSocketImpl$SendTask of jdk.incubator.http.internal.websocket.WebSocketImpl