public final class jdk.internal.net.http.websocket.WebSocketImpl implements java.net.http.WebSocket
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.net.http.websocket.WebSocketImpl
super_class: java.lang.Object
{
private static final jdk.internal.net.http.common.Logger debug;
descriptor: Ljdk/internal/net/http/common/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong sendCounter;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicLong receiveCounter;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<java.nio.ByteBuffer> lastAutomaticPong;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/nio/ByteBuffer;>;
private final jdk.internal.net.http.common.MinimalFuture<java.net.http.WebSocket> DONE;
descriptor: Ljdk/internal/net/http/common/MinimalFuture;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljdk/internal/net/http/common/MinimalFuture<Ljava/net/http/WebSocket;>;
private volatile boolean inputClosed;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.concurrent.atomic.AtomicBoolean outputClosed;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<jdk.internal.net.http.websocket.WebSocketImpl$State> state;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljdk/internal/net/http/websocket/WebSocketImpl$State;>;
private boolean last;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer binaryData;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private java.lang.CharSequence text;
descriptor: Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
private int statusCode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String reason;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private final java.util.concurrent.atomic.AtomicReference<java.lang.Throwable> error;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Throwable;>;
private final java.net.URI uri;
descriptor: Ljava/net/URI;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String subprotocol;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.net.http.WebSocket$Listener listener;
descriptor: Ljava/net/http/WebSocket$Listener;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicBoolean pendingTextOrBinary;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicBoolean pendingPingOrPong;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.Transport transport;
descriptor: Ljdk/internal/net/http/websocket/Transport;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.common.SequentialScheduler receiveScheduler;
descriptor: Ljdk/internal/net/http/common/SequentialScheduler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.common.Demand demand;
descriptor: Ljdk/internal/net/http/common/Demand;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "[WebSocket]"
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic get(Ljava/lang/String;)Ljava/util/function/Supplier;
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;
java/lang/String.toString()Ljava/lang/String; (5)
()Ljava/lang/String;
getstatic jdk.internal.net.http.common.Utils.DEBUG_WS:Z
invokestatic jdk.internal.net.http.common.Utils.getWebSocketLogger:(Ljava/util/function/Supplier;Z)Ljdk/internal/net/http/common/Logger;
1: putstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
2: return
LocalVariableTable:
Start End Slot Name Signature
public static java.util.concurrent.CompletableFuture<java.net.http.WebSocket> newInstanceAsync(jdk.internal.net.http.websocket.BuilderImpl);
descriptor: (Ljdk/internal/net/http/websocket/BuilderImpl;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokedynamic apply(Ljdk/internal/net/http/websocket/BuilderImpl;)Ljava/util/function/Function;
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;)Ljava/lang/Object;
jdk/internal/net/http/websocket/WebSocketImpl.lambda$1(Ljdk/internal/net/http/websocket/BuilderImpl;Ljdk/internal/net/http/websocket/OpeningHandshake$Result;)Ljava/net/http/WebSocket; (6)
(Ljdk/internal/net/http/websocket/OpeningHandshake$Result;)Ljava/net/http/WebSocket;
astore 1
start local 1 1: new jdk.internal.net.http.websocket.OpeningHandshake
dup
aload 0
invokespecial jdk.internal.net.http.websocket.OpeningHandshake.<init>:(Ljdk/internal/net/http/websocket/BuilderImpl;)V
astore 2
start local 2 2: goto 5
end local 2 StackMap locals: jdk.internal.net.http.websocket.BuilderImpl java.util.function.Function
StackMap stack: java.lang.Throwable
3: astore 3
start local 3 4: aload 3
invokestatic jdk.internal.net.http.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 3 start local 2 5: StackMap locals: jdk.internal.net.http.websocket.OpeningHandshake
StackMap stack:
aload 2
invokevirtual jdk.internal.net.http.websocket.OpeningHandshake.send:()Ljava/util/concurrent/CompletableFuture;
aload 1
invokevirtual java.util.concurrent.CompletableFuture.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 b Ljdk/internal/net/http/websocket/BuilderImpl;
1 6 1 newWebSocket Ljava/util/function/Function<Ljdk/internal/net/http/websocket/OpeningHandshake$Result;Ljava/net/http/WebSocket;>;
2 3 2 h Ljdk/internal/net/http/websocket/OpeningHandshake;
5 6 2 h Ljdk/internal/net/http/websocket/OpeningHandshake;
4 5 3 e Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
Signature: (Ljdk/internal/net/http/websocket/BuilderImpl;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
MethodParameters:
Name Flags
b
static jdk.internal.net.http.websocket.WebSocketImpl newInstance(java.net.URI, java.lang.String, java.net.http.WebSocket$Listener, jdk.internal.net.http.websocket.TransportFactory);
descriptor: (Ljava/net/URI;Ljava/lang/String;Ljava/net/http/WebSocket$Listener;Ljdk/internal/net/http/websocket/TransportFactory;)Ljdk/internal/net/http/websocket/WebSocketImpl;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new jdk.internal.net.http.websocket.WebSocketImpl
dup
aload 0
aload 1
aload 2
aload 3
invokespecial jdk.internal.net.http.websocket.WebSocketImpl.<init>:(Ljava/net/URI;Ljava/lang/String;Ljava/net/http/WebSocket$Listener;Ljdk/internal/net/http/websocket/TransportFactory;)V
astore 4
start local 4 1: aload 4
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.signalOpen:()V
2: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 uri Ljava/net/URI;
0 3 1 subprotocol Ljava/lang/String;
0 3 2 listener Ljava/net/http/WebSocket$Listener;
0 3 3 transport Ljdk/internal/net/http/websocket/TransportFactory;
1 3 4 ws Ljdk/internal/net/http/websocket/WebSocketImpl;
MethodParameters:
Name Flags
uri
subprotocol
listener
transport
private void <init>(java.net.URI, java.lang.String, java.net.http.WebSocket$Listener, jdk.internal.net.http.websocket.TransportFactory);
descriptor: (Ljava/net/URI;Ljava/lang/String;Ljava/net/http/WebSocket$Listener;Ljdk/internal/net/http/websocket/TransportFactory;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield jdk.internal.net.http.websocket.WebSocketImpl.sendCounter:Ljava/util/concurrent/atomic/AtomicLong;
2: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield jdk.internal.net.http.websocket.WebSocketImpl.receiveCounter:Ljava/util/concurrent/atomic/AtomicLong;
3: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield jdk.internal.net.http.websocket.WebSocketImpl.lastAutomaticPong:Ljava/util/concurrent/atomic/AtomicReference;
4: aload 0
aload 0
invokestatic jdk.internal.net.http.common.MinimalFuture.completedFuture:(Ljava/lang/Object;)Ljdk/internal/net/http/common/MinimalFuture;
putfield jdk.internal.net.http.websocket.WebSocketImpl.DONE:Ljdk/internal/net/http/common/MinimalFuture;
5: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield jdk.internal.net.http.websocket.WebSocketImpl.outputClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
6: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
getstatic jdk.internal.net.http.websocket.WebSocketImpl$State.OPEN:Ljdk/internal/net/http/websocket/WebSocketImpl$State;
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putfield jdk.internal.net.http.websocket.WebSocketImpl.state:Ljava/util/concurrent/atomic/AtomicReference;
7: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield jdk.internal.net.http.websocket.WebSocketImpl.error:Ljava/util/concurrent/atomic/AtomicReference;
8: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield jdk.internal.net.http.websocket.WebSocketImpl.pendingTextOrBinary:Ljava/util/concurrent/atomic/AtomicBoolean;
9: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield jdk.internal.net.http.websocket.WebSocketImpl.pendingPingOrPong:Ljava/util/concurrent/atomic/AtomicBoolean;
10: aload 0
11: new jdk.internal.net.http.common.SequentialScheduler
dup
new jdk.internal.net.http.websocket.WebSocketImpl$ReceiveTask
dup
aload 0
invokespecial jdk.internal.net.http.websocket.WebSocketImpl$ReceiveTask.<init>:(Ljdk/internal/net/http/websocket/WebSocketImpl;)V
invokespecial jdk.internal.net.http.common.SequentialScheduler.<init>:(Ljdk/internal/net/http/common/SequentialScheduler$RestartableTask;)V
putfield jdk.internal.net.http.websocket.WebSocketImpl.receiveScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
12: aload 0
new jdk.internal.net.http.common.Demand
dup
invokespecial jdk.internal.net.http.common.Demand.<init>:()V
putfield jdk.internal.net.http.websocket.WebSocketImpl.demand:Ljdk/internal/net/http/common/Demand;
13: aload 0
aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.net.URI
putfield jdk.internal.net.http.websocket.WebSocketImpl.uri:Ljava/net/URI;
14: aload 0
aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
putfield jdk.internal.net.http.websocket.WebSocketImpl.subprotocol:Ljava/lang/String;
15: aload 0
aload 3
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.net.http.WebSocket$Listener
putfield jdk.internal.net.http.websocket.WebSocketImpl.listener:Ljava/net/http/WebSocket$Listener;
16: aload 0
aload 4
new jdk.internal.net.http.websocket.MessageQueue
dup
bipush 6
invokespecial jdk.internal.net.http.websocket.MessageQueue.<init>:(I)V
17: new jdk.internal.net.http.websocket.WebSocketImpl$SignallingMessageConsumer
dup
aload 0
invokespecial jdk.internal.net.http.websocket.WebSocketImpl$SignallingMessageConsumer.<init>:(Ljdk/internal/net/http/websocket/WebSocketImpl;)V
18: invokeinterface jdk.internal.net.http.websocket.TransportFactory.createTransport:(Ljdk/internal/net/http/websocket/MessageQueue;Ljdk/internal/net/http/websocket/MessageStreamConsumer;)Ljdk/internal/net/http/websocket/Transport;
putfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 20 1 uri Ljava/net/URI;
0 20 2 subprotocol Ljava/lang/String;
0 20 3 listener Ljava/net/http/WebSocket$Listener;
0 20 4 transportFactory Ljdk/internal/net/http/websocket/TransportFactory;
MethodParameters:
Name Flags
uri
subprotocol
listener
transportFactory
public java.util.concurrent.CompletableFuture<java.net.http.WebSocket> sendText(java.lang.CharSequence, boolean);
descriptor: (Ljava/lang/CharSequence;Z)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: lconst_0
lstore 3
start local 3 2: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 7
3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.sendCounter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 3
4: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send text %s payload length=%s last=%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
5: lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
invokeinterface java.lang.CharSequence.length:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
6: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals: long
StackMap stack:
aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.setPendingTextOrBinary:()Z
ifne 10
8: new java.lang.IllegalStateException
dup
ldc "Send pending"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokestatic jdk.internal.net.http.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 9: goto 13
end local 5 10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
aload 1
iload 2
aload 0
11: aload 0
invokedynamic accept(Ljdk/internal/net/http/websocket/WebSocketImpl;)Ljava/util/function/BiConsumer;
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;Ljava/lang/Object;)V
jdk/internal/net/http/websocket/WebSocketImpl.lambda$2(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V (7)
(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
12: invokeinterface jdk.internal.net.http.websocket.Transport.sendText:(Ljava/lang/CharSequence;ZLjava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 13: StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 15
14: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send text %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 5
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.replaceNull:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 16 1 message Ljava/lang/CharSequence;
0 16 2 last Z
2 16 3 id J
9 10 5 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
13 16 5 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
Signature: (Ljava/lang/CharSequence;Z)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
MethodParameters:
Name Flags
message
last
public java.util.concurrent.CompletableFuture<java.net.http.WebSocket> sendBinary(java.nio.ByteBuffer, boolean);
descriptor: (Ljava/nio/ByteBuffer;Z)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: lconst_0
lstore 3
start local 3 2: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 7
3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.sendCounter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 3
4: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send binary %s payload=%s last=%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
5: lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
aastore
dup
iconst_2
iload 2
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
6: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals: long
StackMap stack:
aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.setPendingTextOrBinary:()Z
ifne 10
8: new java.lang.IllegalStateException
dup
ldc "Send pending"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokestatic jdk.internal.net.http.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 9: goto 13
end local 5 10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
aload 1
iload 2
aload 0
11: aload 0
invokedynamic accept(Ljdk/internal/net/http/websocket/WebSocketImpl;)Ljava/util/function/BiConsumer;
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;Ljava/lang/Object;)V
jdk/internal/net/http/websocket/WebSocketImpl.lambda$3(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V (7)
(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
12: invokeinterface jdk.internal.net.http.websocket.Transport.sendBinary:(Ljava/nio/ByteBuffer;ZLjava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 13: StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 15
14: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send binary %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 5
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.replaceNull:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 16 1 message Ljava/nio/ByteBuffer;
0 16 2 last Z
2 16 3 id J
9 10 5 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
13 16 5 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
Signature: (Ljava/nio/ByteBuffer;Z)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
MethodParameters:
Name Flags
message
last
private void clearPendingTextOrBinary();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.pendingTextOrBinary:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
private boolean setPendingTextOrBinary();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.pendingTextOrBinary:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
private java.util.concurrent.CompletableFuture<java.net.http.WebSocket> replaceNull(java.util.concurrent.CompletableFuture<java.net.http.WebSocket>);
descriptor: (Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.DONE:Ljdk/internal/net/http/common/MinimalFuture;
areturn
2: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 3 1 cf Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
Signature: (Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
MethodParameters:
Name Flags
cf
public java.util.concurrent.CompletableFuture<java.net.http.WebSocket> sendPing(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: lconst_0
lstore 2
start local 2 2: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 5
3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.sendCounter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 2
4: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send ping %s payload=%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals: long
StackMap stack:
aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.setPendingPingOrPong:()Z
ifne 8
6: new java.lang.IllegalStateException
dup
ldc "Send pending"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokestatic jdk.internal.net.http.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
astore 4
start local 4 7: goto 11
end local 4 8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
aload 1
aload 0
9: aload 0
invokedynamic accept(Ljdk/internal/net/http/websocket/WebSocketImpl;)Ljava/util/function/BiConsumer;
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;Ljava/lang/Object;)V
jdk/internal/net/http/websocket/WebSocketImpl.lambda$4(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V (7)
(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
10: invokeinterface jdk.internal.net.http.websocket.Transport.sendPing:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
astore 4
start local 4 11: StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 13
12: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send ping %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 4
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.replaceNull:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 14 1 message Ljava/nio/ByteBuffer;
2 14 2 id J
7 8 4 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
11 14 4 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
Signature: (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
MethodParameters:
Name Flags
message
public java.util.concurrent.CompletableFuture<java.net.http.WebSocket> sendPong(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: lconst_0
lstore 2
start local 2 2: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 5
3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.sendCounter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 2
4: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send pong %s payload=%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals: long
StackMap stack:
aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.setPendingPingOrPong:()Z
ifne 8
6: new java.lang.IllegalStateException
dup
ldc "Send pending"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokestatic jdk.internal.net.http.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
astore 4
start local 4 7: goto 11
end local 4 8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
aload 1
aload 0
9: aload 0
invokedynamic accept(Ljdk/internal/net/http/websocket/WebSocketImpl;)Ljava/util/function/BiConsumer;
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;Ljava/lang/Object;)V
jdk/internal/net/http/websocket/WebSocketImpl.lambda$5(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V (7)
(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
10: invokeinterface jdk.internal.net.http.websocket.Transport.sendPong:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
astore 4
start local 4 11: StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 13
12: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send pong %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 4
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 0
aload 4
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.replaceNull:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 14 1 message Ljava/nio/ByteBuffer;
2 14 2 id J
7 8 4 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
11 14 4 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
Signature: (Ljava/nio/ByteBuffer;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
MethodParameters:
Name Flags
message
private boolean setPendingPingOrPong();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.pendingPingOrPong:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
private void clearPendingPingOrPong();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.pendingPingOrPong:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
public java.util.concurrent.CompletableFuture<java.net.http.WebSocket> sendClose(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: lconst_0
lstore 3
start local 3 2: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 7
3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.sendCounter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 3
4: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send close %s statusCode=%s reason.length=%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
5: lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 2
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
6: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
7: StackMap locals: long
StackMap stack:
iload 1
invokestatic jdk.internal.net.http.websocket.StatusCodes.isLegalToSendFromClient:(I)Z
ifne 10
8: new java.lang.IllegalArgumentException
dup
ldc "statusCode"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
invokestatic jdk.internal.net.http.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 9: goto 17
end local 5 StackMap locals:
StackMap stack:
10: aload 2
invokestatic jdk.internal.net.http.websocket.WebSocketImpl.isLegalReason:(Ljava/lang/String;)Z
ifne 13
11: new java.lang.IllegalArgumentException
dup
ldc "reason"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
invokestatic jdk.internal.net.http.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 12: goto 17
end local 5 StackMap locals:
StackMap stack:
13: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.outputClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifne 16
14: new java.io.IOException
dup
ldc "Output closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokestatic jdk.internal.net.http.common.MinimalFuture.failedFuture:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 15: goto 17
end local 5 16: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 2
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.sendClose0:(ILjava/lang/String;)Ljava/util/concurrent/CompletableFuture;
astore 5
start local 5 17: StackMap locals: java.util.concurrent.CompletableFuture
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 19
18: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send close %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 5
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
19: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.replaceNull:(Ljava/util/concurrent/CompletableFuture;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 20 1 statusCode I
0 20 2 reason Ljava/lang/String;
2 20 3 id J
9 10 5 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
12 13 5 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
15 16 5 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
17 20 5 result Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
Signature: (ILjava/lang/String;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
MethodParameters:
Name Flags
statusCode
reason
private static boolean isLegalReason(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
bipush 123
if_icmple 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newEncoder:()Ljava/nio/charset/CharsetEncoder;
3: getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
4: getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetEncoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
5: astore 1
start local 1 6: aload 1
aload 0
invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
invokevirtual java.nio.charset.CharsetEncoder.encode:(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
astore 2
start local 2 7: goto 10
end local 2 StackMap locals: java.lang.String java.nio.charset.CharsetEncoder
StackMap stack: java.nio.charset.CharacterCodingException
8: pop
9: iconst_0
ireturn
start local 2 10: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 123
if_icmpgt 11
iconst_1
ireturn
StackMap locals:
StackMap stack:
11: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 reason Ljava/lang/String;
6 12 1 encoder Ljava/nio/charset/CharsetEncoder;
7 8 2 bytes Ljava/nio/ByteBuffer;
10 12 2 bytes Ljava/nio/ByteBuffer;
Exception table:
from to target type
6 7 8 Class java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
reason
private java.util.concurrent.CompletableFuture<java.net.http.WebSocket> sendClose0(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
iload 1
aload 2
aload 0
1: aload 0
invokedynamic accept(Ljdk/internal/net/http/websocket/WebSocketImpl;)Ljava/util/function/BiConsumer;
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;Ljava/lang/Object;)V
jdk/internal/net/http/websocket/WebSocketImpl.lambda$6(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V (7)
(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
2: invokeinterface jdk.internal.net.http.websocket.Transport.sendClose:(ILjava/lang/String;Ljava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 3 1 statusCode I
0 3 2 reason Ljava/lang/String;
Signature: (ILjava/lang/String;)Ljava/util/concurrent/CompletableFuture<Ljava/net/http/WebSocket;>;
MethodParameters:
Name Flags
statusCode
reason
private void processCloseError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "send close completed successfully"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
2: goto 4
3: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "send close completed with error"
aload 1
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.outputClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
5: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
invokeinterface jdk.internal.net.http.websocket.Transport.closeOutput:()V
6: goto 8
StackMap locals:
StackMap stack: java.io.IOException
7: pop
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 9 1 e Ljava/lang/Throwable;
Exception table:
from to target type
5 6 7 Class java.io.IOException
MethodParameters:
Name Flags
e
public void request(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 2
1: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "request %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.demand:Ljdk/internal/net/http/common/Demand;
lload 1
invokevirtual jdk.internal.net.http.common.Demand.increase:(J)Z
ifeq 4
3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.receiveScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 5 1 n J
MethodParameters:
Name Flags
n
public java.lang.String getSubprotocol();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.subprotocol:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
public boolean isOutputClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.outputClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
public boolean isInputClosed();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.inputClosed:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
public void abort();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 2
1: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "abort"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.internal.net.http.websocket.WebSocketImpl.inputClosed:Z
3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.outputClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
4: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.receiveScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.stop:()V
5: aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.close:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokespecial java.lang.Object.toString:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: ldc "[uri="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.uri:Ljava/net/URI;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.subprotocol:Ljava/lang/String;
invokevirtual java.lang.String.isEmpty:()Z
ifne 3
new java.lang.StringBuilder
dup
ldc ", subprotocol="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.subprotocol:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 4
StackMap locals:
StackMap stack: java.lang.StringBuilder
3: ldc ""
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl
StackMap stack: java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
private void sendCloseSilently(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
ldc ""
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.sendClose0:(ILjava/lang/String;)Ljava/util/concurrent/CompletableFuture;
invokedynamic accept()Ljava/util/function/BiConsumer;
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;Ljava/lang/Object;)V
jdk/internal/net/http/websocket/WebSocketImpl.lambda$7(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V (6)
(Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 2 1 statusCode I
MethodParameters:
Name Flags
statusCode
private java.nio.ByteBuffer clearAutomaticPong();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.lastAutomaticPong:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
3: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.lastAutomaticPong:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
1 5 1 data Ljava/nio/ByteBuffer;
private boolean trySwapAutomaticPong(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.lastAutomaticPong:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 2
start local 2 1: aload 2
ifnonnull 6
2: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.lastAutomaticPong:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 4
3: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
4: StackMap locals: java.nio.ByteBuffer
StackMap stack:
iconst_0
istore 3
start local 3 5: goto 8
end local 3 6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.lastAutomaticPong:Ljava/util/concurrent/atomic/AtomicReference;
aload 2
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
7: iconst_1
istore 3
start local 3 8: StackMap locals: int
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 12
9: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "swapped automatic pong from %s to %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
10: aload 2
aastore
dup
iconst_1
aload 1
aastore
11: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 13 1 copy Ljava/nio/ByteBuffer;
1 13 2 message Ljava/nio/ByteBuffer;
5 6 3 swapped Z
8 13 3 swapped Z
MethodParameters:
Name Flags
copy
private void signalOpen();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "signalOpen"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
1: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.receiveScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
private void signalError(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 2
1: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "signalError %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.internal.net.http.websocket.WebSocketImpl.inputClosed:Z
3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.outputClosed:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
4: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.error:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 5
aload 0
getstatic jdk.internal.net.http.websocket.WebSocketImpl$State.ERROR:Ljdk/internal/net/http/websocket/WebSocketImpl$State;
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.trySetState:(Ljdk/internal/net/http/websocket/WebSocketImpl$State;)Z
ifne 9
5: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 7
6: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "signalError"
aload 1
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
7: StackMap locals:
StackMap stack:
aload 1
invokestatic jdk.internal.net.http.common.Log.logError:(Ljava/lang/Throwable;)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.close:()V
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 11 1 error Ljava/lang/Throwable;
MethodParameters:
Name Flags
error
private void close();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=1
start local 0 0: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 2
1: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "close"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
invokeinterface jdk.internal.net.http.websocket.Transport.closeInput:()V
4: goto 104
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable
StackMap stack: java.lang.Throwable
5: astore 2
start local 2 6: aload 2
astore 1
end local 2 7: aconst_null
astore 4
start local 4 8: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
invokeinterface jdk.internal.net.http.websocket.Transport.closeOutput:()V
9: goto 41
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable
StackMap stack: java.lang.Throwable
10: astore 5
start local 5 11: aload 5
astore 4
end local 5 12: aconst_null
astore 7
start local 7 13: aload 1
ifnull 17
aload 4
ifnull 17
14: aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
15: aload 1
astore 7
16: goto 22
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable top top java.lang.Throwable
StackMap stack:
17: aload 1
ifnull 20
18: aload 1
astore 7
19: goto 22
StackMap locals:
StackMap stack:
20: aload 4
ifnull 22
21: aload 4
astore 7
22: StackMap locals:
StackMap stack:
aload 7
ifnull 151
23: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 151
24: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception in close"
aload 7
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 25: goto 151
26: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 6
27: aconst_null
astore 7
start local 7 28: aload 1
ifnull 32
aload 4
ifnull 32
29: aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
30: aload 1
astore 7
31: goto 37
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable top java.lang.Throwable java.lang.Throwable
StackMap stack:
32: aload 1
ifnull 35
33: aload 1
astore 7
34: goto 37
StackMap locals:
StackMap stack:
35: aload 4
ifnull 37
36: aload 4
astore 7
37: StackMap locals:
StackMap stack:
aload 7
ifnull 40
38: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 40
39: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception in close"
aload 7
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 40: StackMap locals:
StackMap stack:
aload 6
athrow
41: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable
StackMap stack:
aconst_null
astore 7
start local 7 42: aload 1
ifnull 46
aload 4
ifnull 46
43: aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
44: aload 1
astore 7
45: goto 51
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable top top java.lang.Throwable
StackMap stack:
46: aload 1
ifnull 49
47: aload 1
astore 7
48: goto 51
StackMap locals:
StackMap stack:
49: aload 4
ifnull 51
50: aload 4
astore 7
51: StackMap locals:
StackMap stack:
aload 7
ifnull 151
52: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 151
53: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception in close"
aload 7
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 end local 4 54: goto 151
55: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 3
56: aconst_null
astore 4
start local 4 57: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
invokeinterface jdk.internal.net.http.websocket.Transport.closeOutput:()V
58: goto 90
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top java.lang.Throwable java.lang.Throwable
StackMap stack: java.lang.Throwable
59: astore 5
start local 5 60: aload 5
astore 4
end local 5 61: aconst_null
astore 7
start local 7 62: aload 1
ifnull 66
aload 4
ifnull 66
63: aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
64: aload 1
astore 7
65: goto 71
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top java.lang.Throwable java.lang.Throwable top top java.lang.Throwable
StackMap stack:
66: aload 1
ifnull 69
67: aload 1
astore 7
68: goto 71
StackMap locals:
StackMap stack:
69: aload 4
ifnull 71
70: aload 4
astore 7
71: StackMap locals:
StackMap stack:
aload 7
ifnull 103
72: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 103
73: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception in close"
aload 7
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 74: goto 103
75: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top java.lang.Throwable java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 6
76: aconst_null
astore 7
start local 7 77: aload 1
ifnull 81
aload 4
ifnull 81
78: aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
79: aload 1
astore 7
80: goto 86
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top java.lang.Throwable java.lang.Throwable top java.lang.Throwable java.lang.Throwable
StackMap stack:
81: aload 1
ifnull 84
82: aload 1
astore 7
83: goto 86
StackMap locals:
StackMap stack:
84: aload 4
ifnull 86
85: aload 4
astore 7
86: StackMap locals:
StackMap stack:
aload 7
ifnull 89
87: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 89
88: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception in close"
aload 7
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 89: StackMap locals:
StackMap stack:
aload 6
athrow
90: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top java.lang.Throwable java.lang.Throwable
StackMap stack:
aconst_null
astore 7
start local 7 91: aload 1
ifnull 95
aload 4
ifnull 95
92: aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
93: aload 1
astore 7
94: goto 100
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top java.lang.Throwable java.lang.Throwable top top java.lang.Throwable
StackMap stack:
95: aload 1
ifnull 98
96: aload 1
astore 7
97: goto 100
StackMap locals:
StackMap stack:
98: aload 4
ifnull 100
99: aload 4
astore 7
100: StackMap locals:
StackMap stack:
aload 7
ifnull 103
101: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 103
102: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception in close"
aload 7
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 end local 4 103: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top java.lang.Throwable
StackMap stack:
aload 3
athrow
104: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable
StackMap stack:
aconst_null
astore 4
start local 4 105: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
invokeinterface jdk.internal.net.http.websocket.Transport.closeOutput:()V
106: goto 138
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable
StackMap stack: java.lang.Throwable
107: astore 5
start local 5 108: aload 5
astore 4
end local 5 109: aconst_null
astore 7
start local 7 110: aload 1
ifnull 114
aload 4
ifnull 114
111: aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
112: aload 1
astore 7
113: goto 119
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable top top java.lang.Throwable
StackMap stack:
114: aload 1
ifnull 117
115: aload 1
astore 7
116: goto 119
StackMap locals:
StackMap stack:
117: aload 4
ifnull 119
118: aload 4
astore 7
119: StackMap locals:
StackMap stack:
aload 7
ifnull 151
120: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 151
121: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception in close"
aload 7
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 122: goto 151
123: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable
StackMap stack: java.lang.Throwable
astore 6
124: aconst_null
astore 7
start local 7 125: aload 1
ifnull 129
aload 4
ifnull 129
126: aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
127: aload 1
astore 7
128: goto 134
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable top java.lang.Throwable java.lang.Throwable
StackMap stack:
129: aload 1
ifnull 132
130: aload 1
astore 7
131: goto 134
StackMap locals:
StackMap stack:
132: aload 4
ifnull 134
133: aload 4
astore 7
134: StackMap locals:
StackMap stack:
aload 7
ifnull 137
135: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 137
136: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception in close"
aload 7
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 137: StackMap locals:
StackMap stack:
aload 6
athrow
138: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable
StackMap stack:
aconst_null
astore 7
start local 7 139: aload 1
ifnull 143
aload 4
ifnull 143
140: aload 1
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
141: aload 1
astore 7
142: goto 148
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable top top java.lang.Throwable top top java.lang.Throwable
StackMap stack:
143: aload 1
ifnull 146
144: aload 1
astore 7
145: goto 148
StackMap locals:
StackMap stack:
146: aload 4
ifnull 148
147: aload 4
astore 7
148: StackMap locals:
StackMap stack:
aload 7
ifnull 151
149: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 151
150: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception in close"
aload 7
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 7 end local 4 151: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl java.lang.Throwable
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 152 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
3 152 1 first Ljava/lang/Throwable;
6 7 2 t1 Ljava/lang/Throwable;
8 54 4 second Ljava/lang/Throwable;
57 103 4 second Ljava/lang/Throwable;
105 151 4 second Ljava/lang/Throwable;
11 12 5 t2 Ljava/lang/Throwable;
60 61 5 t2 Ljava/lang/Throwable;
108 109 5 t2 Ljava/lang/Throwable;
13 25 7 e Ljava/lang/Throwable;
28 40 7 e Ljava/lang/Throwable;
42 54 7 e Ljava/lang/Throwable;
62 74 7 e Ljava/lang/Throwable;
77 89 7 e Ljava/lang/Throwable;
91 103 7 e Ljava/lang/Throwable;
110 122 7 e Ljava/lang/Throwable;
125 137 7 e Ljava/lang/Throwable;
139 151 7 e Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
8 9 10 Class java.lang.Throwable
8 12 26 any
3 7 55 any
57 58 59 Class java.lang.Throwable
57 61 75 any
105 106 107 Class java.lang.Throwable
105 109 123 any
private void signalClose(int, java.lang.String);
descriptor: (ILjava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.WebSocketImpl.inputClosed:Z
1: aload 0
iload 1
putfield jdk.internal.net.http.websocket.WebSocketImpl.statusCode:I
2: aload 0
aload 2
putfield jdk.internal.net.http.websocket.WebSocketImpl.reason:Ljava/lang/String;
3: aload 0
getstatic jdk.internal.net.http.websocket.WebSocketImpl$State.CLOSE:Ljdk/internal/net/http/websocket/WebSocketImpl$State;
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.trySetState:(Ljdk/internal/net/http/websocket/WebSocketImpl$State;)Z
istore 3
start local 3 4: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 8
5: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "signalClose statusCode=%s reason.length=%s: %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
6: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 2
invokevirtual java.lang.String.length:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
7: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
8: StackMap locals: int
StackMap stack:
iload 3
ifeq 14
9: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
invokeinterface jdk.internal.net.http.websocket.Transport.closeInput:()V
10: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 4
start local 4 12: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 14
13: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exception closing input"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 15 1 statusCode I
0 15 2 reason Ljava/lang/String;
4 15 3 managed Z
12 14 4 t Ljava/lang/Throwable;
Exception table:
from to target type
9 10 11 Class java.lang.Throwable
MethodParameters:
Name Flags
statusCode
reason
private boolean trySetState(jdk.internal.net.http.websocket.WebSocketImpl$State);
descriptor: (Ljdk/internal/net/http/websocket/WebSocketImpl$State;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 3
start local 3 1: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl jdk.internal.net.http.websocket.WebSocketImpl$State top int
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.state:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast jdk.internal.net.http.websocket.WebSocketImpl$State
astore 2
start local 2 2: aload 2
getstatic jdk.internal.net.http.websocket.WebSocketImpl$State.ERROR:Ljdk/internal/net/http/websocket/WebSocketImpl$State;
if_acmpeq 7
aload 2
getstatic jdk.internal.net.http.websocket.WebSocketImpl$State.CLOSE:Ljdk/internal/net/http/websocket/WebSocketImpl$State;
if_acmpne 4
3: goto 7
4: StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl jdk.internal.net.http.websocket.WebSocketImpl$State jdk.internal.net.http.websocket.WebSocketImpl$State int
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.state:Ljava/util/concurrent/atomic/AtomicReference;
aload 2
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 1
5: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.receiveScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
6: iconst_1
istore 3
7: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 11
8: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "set state %s (previous %s) %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
9: aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
iload 3
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
10: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 12 1 newState Ljdk/internal/net/http/websocket/WebSocketImpl$State;
2 12 2 currentState Ljdk/internal/net/http/websocket/WebSocketImpl$State;
1 12 3 success Z
MethodParameters:
Name Flags
newState
private boolean tryChangeState(jdk.internal.net.http.websocket.WebSocketImpl$State, jdk.internal.net.http.websocket.WebSocketImpl$State);
descriptor: (Ljdk/internal/net/http/websocket/WebSocketImpl$State;Ljdk/internal/net/http/websocket/WebSocketImpl$State;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.state:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
aload 2
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndExchange:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast jdk.internal.net.http.websocket.WebSocketImpl$State
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 3
aload 1
if_acmpne 6
3: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.receiveScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
4: iconst_1
istore 4
5: goto 8
StackMap locals: jdk.internal.net.http.websocket.WebSocketImpl$State int
StackMap stack:
6: aload 3
getstatic jdk.internal.net.http.websocket.WebSocketImpl$State.ERROR:Ljdk/internal/net/http/websocket/WebSocketImpl$State;
if_acmpeq 8
aload 3
getstatic jdk.internal.net.http.websocket.WebSocketImpl$State.CLOSE:Ljdk/internal/net/http/websocket/WebSocketImpl$State;
if_acmpeq 8
7: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 12
9: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "change state from %s to %s %s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
10: aload 1
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
iload 4
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
aastore
11: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
12: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 13 1 expectedState Ljdk/internal/net/http/websocket/WebSocketImpl$State;
0 13 2 newState Ljdk/internal/net/http/websocket/WebSocketImpl$State;
1 13 3 witness Ljdk/internal/net/http/websocket/WebSocketImpl$State;
2 13 4 success Z
MethodParameters:
Name Flags
expectedState
newState
protected jdk.internal.net.http.websocket.Transport transport();
descriptor: ()Ljdk/internal/net/http/websocket/Transport;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.websocket.WebSocketImpl.transport:Ljdk/internal/net/http/websocket/Transport;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
static java.nio.ByteBuffer access$0(jdk.internal.net.http.websocket.WebSocketImpl);
descriptor: (Ljdk/internal/net/http/websocket/WebSocketImpl;)Ljava/nio/ByteBuffer;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial jdk.internal.net.http.websocket.WebSocketImpl.clearAutomaticPong:()Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.net.http.WebSocket lambda$1(jdk.internal.net.http.websocket.BuilderImpl, jdk.internal.net.http.websocket.OpeningHandshake$Result);
descriptor: (Ljdk/internal/net/http/websocket/BuilderImpl;Ljdk/internal/net/http/websocket/OpeningHandshake$Result;)Ljava/net/http/WebSocket;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=2
start local 1 0: aload 0
invokevirtual jdk.internal.net.http.websocket.BuilderImpl.getUri:()Ljava/net/URI;
1: aload 1
getfield jdk.internal.net.http.websocket.OpeningHandshake$Result.subprotocol:Ljava/lang/String;
2: aload 0
invokevirtual jdk.internal.net.http.websocket.BuilderImpl.getListener:()Ljava/net/http/WebSocket$Listener;
3: aload 1
getfield jdk.internal.net.http.websocket.OpeningHandshake$Result.transport:Ljdk/internal/net/http/websocket/TransportFactory;
4: invokestatic jdk.internal.net.http.websocket.WebSocketImpl.newInstance:(Ljava/net/URI;Ljava/lang/String;Ljava/net/http/WebSocket$Listener;Ljdk/internal/net/http/websocket/TransportFactory;)Ljdk/internal/net/http/websocket/WebSocketImpl;
astore 2
start local 2 5: aload 0
invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
6: aload 2
areturn
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 7 1 r Ljdk/internal/net/http/websocket/OpeningHandshake$Result;
5 7 2 ws Ljava/net/http/WebSocket;
private void lambda$2(java.net.http.WebSocket, java.lang.Throwable);
descriptor: (Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.clearPendingTextOrBinary:()V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 1 1 r Ljava/net/http/WebSocket;
0 1 2 e Ljava/lang/Throwable;
private void lambda$3(java.net.http.WebSocket, java.lang.Throwable);
descriptor: (Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.clearPendingTextOrBinary:()V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 1 1 r Ljava/net/http/WebSocket;
0 1 2 e Ljava/lang/Throwable;
private void lambda$4(java.net.http.WebSocket, java.lang.Throwable);
descriptor: (Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.clearPendingPingOrPong:()V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 1 1 r Ljava/net/http/WebSocket;
0 1 2 e Ljava/lang/Throwable;
private void lambda$5(java.net.http.WebSocket, java.lang.Throwable);
descriptor: (Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.clearPendingPingOrPong:()V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 1 1 r Ljava/net/http/WebSocket;
0 1 2 e Ljava/lang/Throwable;
private void lambda$6(java.net.http.WebSocket, java.lang.Throwable);
descriptor: (Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokevirtual jdk.internal.net.http.websocket.WebSocketImpl.processCloseError:(Ljava/lang/Throwable;)V
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/net/http/websocket/WebSocketImpl;
0 1 1 r Ljava/net/http/WebSocket;
0 1 2 e Ljava/lang/Throwable;
private static void lambda$7(java.net.http.WebSocket, java.lang.Throwable);
descriptor: (Ljava/net/http/WebSocket;Ljava/lang/Throwable;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 5
1: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 5
2: getstatic jdk.internal.net.http.websocket.WebSocketImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "automatic closure completed with error"
iconst_1
anewarray java.lang.Object
dup
iconst_0
3: aload 1
aastore
4: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 r Ljava/net/http/WebSocket;
0 6 1 e Ljava/lang/Throwable;
}
SourceFile: "WebSocketImpl.java"
NestMembers:
jdk.internal.net.http.websocket.WebSocketImpl$ReceiveTask jdk.internal.net.http.websocket.WebSocketImpl$SignallingMessageConsumer jdk.internal.net.http.websocket.WebSocketImpl$State
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Listener = java.net.http.WebSocket$Listener of java.net.http.WebSocket
public abstract RestartableTask = jdk.internal.net.http.common.SequentialScheduler$RestartableTask of jdk.internal.net.http.common.SequentialScheduler
final Result = jdk.internal.net.http.websocket.OpeningHandshake$Result of jdk.internal.net.http.websocket.OpeningHandshake
private ReceiveTask = jdk.internal.net.http.websocket.WebSocketImpl$ReceiveTask of jdk.internal.net.http.websocket.WebSocketImpl
private SignallingMessageConsumer = jdk.internal.net.http.websocket.WebSocketImpl$SignallingMessageConsumer of jdk.internal.net.http.websocket.WebSocketImpl
final State = jdk.internal.net.http.websocket.WebSocketImpl$State of jdk.internal.net.http.websocket.WebSocketImpl