public class jdk.internal.net.http.websocket.TransportImpl implements jdk.internal.net.http.websocket.Transport
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.net.http.websocket.TransportImpl
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 counter;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.common.SequentialScheduler sendScheduler;
descriptor: Ljdk/internal/net/http/common/SequentialScheduler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.MessageQueue queue;
descriptor: Ljdk/internal/net/http/websocket/MessageQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.MessageEncoder encoder;
descriptor: Ljdk/internal/net/http/websocket/MessageEncoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer dst;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer[] dstArray;
descriptor: [Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.MessageStreamConsumer messageConsumer;
descriptor: Ljdk/internal/net/http/websocket/MessageStreamConsumer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.MessageDecoder decoder;
descriptor: Ljdk/internal/net/http/websocket/MessageDecoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.Frame$Reader reader;
descriptor: Ljdk/internal/net/http/websocket/Frame$Reader;
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
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.websocket.RawChannel channel;
descriptor: Ljdk/internal/net/http/websocket/RawChannel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object closeLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.RawChannel$RawEvent writeEvent;
descriptor: Ljdk/internal/net/http/websocket/RawChannel$RawEvent;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.internal.net.http.websocket.RawChannel$RawEvent readEvent;
descriptor: Ljdk/internal/net/http/websocket/RawChannel$RawEvent;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<jdk.internal.net.http.websocket.TransportImpl$ChannelState> writeState;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljdk/internal/net/http/websocket/TransportImpl$ChannelState;>;
private java.nio.ByteBuffer data;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private volatile jdk.internal.net.http.websocket.TransportImpl$ChannelState readState;
descriptor: Ljdk/internal/net/http/websocket/TransportImpl$ChannelState;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean inputClosed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean outputClosed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "[Transport]"
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.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.internal.net.http.websocket.MessageQueue, jdk.internal.net.http.websocket.MessageStreamConsumer, jdk.internal.net.http.websocket.RawChannel);
descriptor: (Ljdk/internal/net/http/websocket/MessageQueue;Ljdk/internal/net/http/websocket/MessageStreamConsumer;Ljdk/internal/net/http/websocket/RawChannel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 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.TransportImpl.counter:Ljava/util/concurrent/atomic/AtomicLong;
2: aload 0
new jdk.internal.net.http.common.SequentialScheduler
dup
new jdk.internal.net.http.websocket.TransportImpl$SendTask
dup
aload 0
invokespecial jdk.internal.net.http.websocket.TransportImpl$SendTask.<init>:(Ljdk/internal/net/http/websocket/TransportImpl;)V
invokespecial jdk.internal.net.http.common.SequentialScheduler.<init>:(Ljdk/internal/net/http/common/SequentialScheduler$RestartableTask;)V
putfield jdk.internal.net.http.websocket.TransportImpl.sendScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
3: aload 0
new jdk.internal.net.http.websocket.MessageEncoder
dup
invokespecial jdk.internal.net.http.websocket.MessageEncoder.<init>:()V
putfield jdk.internal.net.http.websocket.TransportImpl.encoder:Ljdk/internal/net/http/websocket/MessageEncoder;
4: aload 0
aload 0
invokevirtual jdk.internal.net.http.websocket.TransportImpl.createWriteBuffer:()Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
putfield jdk.internal.net.http.websocket.TransportImpl.dst:Ljava/nio/ByteBuffer;
5: aload 0
iconst_1
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.dst:Ljava/nio/ByteBuffer;
aastore
putfield jdk.internal.net.http.websocket.TransportImpl.dstArray:[Ljava/nio/ByteBuffer;
6: aload 0
new jdk.internal.net.http.websocket.Frame$Reader
dup
invokespecial jdk.internal.net.http.websocket.Frame$Reader.<init>:()V
putfield jdk.internal.net.http.websocket.TransportImpl.reader:Ljdk/internal/net/http/websocket/Frame$Reader;
7: 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.TransportImpl.demand:Ljdk/internal/net/http/common/Demand;
8: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield jdk.internal.net.http.websocket.TransportImpl.closeLock:Ljava/lang/Object;
9: aload 0
new jdk.internal.net.http.websocket.TransportImpl$WriteEvent
dup
aload 0
invokespecial jdk.internal.net.http.websocket.TransportImpl$WriteEvent.<init>:(Ljdk/internal/net/http/websocket/TransportImpl;)V
putfield jdk.internal.net.http.websocket.TransportImpl.writeEvent:Ljdk/internal/net/http/websocket/RawChannel$RawEvent;
10: aload 0
new jdk.internal.net.http.websocket.TransportImpl$ReadEvent
dup
aload 0
invokespecial jdk.internal.net.http.websocket.TransportImpl$ReadEvent.<init>:(Ljdk/internal/net/http/websocket/TransportImpl;)V
putfield jdk.internal.net.http.websocket.TransportImpl.readEvent:Ljdk/internal/net/http/websocket/RawChannel$RawEvent;
11: aload 0
12: new java.util.concurrent.atomic.AtomicReference
dup
getstatic jdk.internal.net.http.websocket.TransportImpl$ChannelState.UNREGISTERED:Ljdk/internal/net/http/websocket/TransportImpl$ChannelState;
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:(Ljava/lang/Object;)V
putfield jdk.internal.net.http.websocket.TransportImpl.writeState:Ljava/util/concurrent/atomic/AtomicReference;
13: aload 0
getstatic jdk.internal.net.http.websocket.TransportImpl$ChannelState.UNREGISTERED:Ljdk/internal/net/http/websocket/TransportImpl$ChannelState;
putfield jdk.internal.net.http.websocket.TransportImpl.readState:Ljdk/internal/net/http/websocket/TransportImpl$ChannelState;
14: aload 0
aload 1
putfield jdk.internal.net.http.websocket.TransportImpl.queue:Ljdk/internal/net/http/websocket/MessageQueue;
15: aload 0
aload 2
putfield jdk.internal.net.http.websocket.TransportImpl.messageConsumer:Ljdk/internal/net/http/websocket/MessageStreamConsumer;
16: aload 0
aload 3
putfield jdk.internal.net.http.websocket.TransportImpl.channel:Ljdk/internal/net/http/websocket/RawChannel;
17: aload 0
new jdk.internal.net.http.websocket.MessageDecoder
dup
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.messageConsumer:Ljdk/internal/net/http/websocket/MessageStreamConsumer;
invokespecial jdk.internal.net.http.websocket.MessageDecoder.<init>:(Ljdk/internal/net/http/websocket/MessageStreamConsumer;)V
putfield jdk.internal.net.http.websocket.TransportImpl.decoder:Ljdk/internal/net/http/websocket/MessageDecoder;
18: aload 0
aload 3
invokeinterface jdk.internal.net.http.websocket.RawChannel.initialByteBuffer:()Ljava/nio/ByteBuffer;
putfield jdk.internal.net.http.websocket.TransportImpl.data:Ljava/nio/ByteBuffer;
19: aload 0
new jdk.internal.net.http.common.SequentialScheduler
dup
new jdk.internal.net.http.websocket.TransportImpl$ReceiveTask
dup
aload 0
invokespecial jdk.internal.net.http.websocket.TransportImpl$ReceiveTask.<init>:(Ljdk/internal/net/http/websocket/TransportImpl;)V
invokespecial jdk.internal.net.http.common.SequentialScheduler.<init>:(Ljdk/internal/net/http/common/SequentialScheduler$RestartableTask;)V
putfield jdk.internal.net.http.websocket.TransportImpl.receiveScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/internal/net/http/websocket/TransportImpl;
0 21 1 queue Ljdk/internal/net/http/websocket/MessageQueue;
0 21 2 consumer Ljdk/internal/net/http/websocket/MessageStreamConsumer;
0 21 3 channel Ljdk/internal/net/http/websocket/RawChannel;
MethodParameters:
Name Flags
queue
consumer
channel
private java.nio.ByteBuffer createWriteBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: ldc "jdk.httpclient.websocket.writeBufferSize"
astore 1
start local 1 1: aload 1
sipush 16384
invokestatic jdk.internal.net.http.common.Utils.getIntegerNetProperty:(Ljava/lang/String;I)I
istore 2
start local 2 2: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 4
3: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "write buffer capacity %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
4: StackMap locals: java.lang.String int
StackMap stack:
iload 2
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/net/http/websocket/TransportImpl;
1 5 1 name Ljava/lang/String;
2 5 2 capacity I
private boolean write();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=1
start local 0 0: getstatic jdk.internal.net.http.websocket.TransportImpl.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.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "writing to the channel"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.channel:Ljdk/internal/net/http/websocket/RawChannel;
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.dstArray:[Ljava/nio/ByteBuffer;
iconst_0
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.dstArray:[Ljava/nio/ByteBuffer;
arraylength
invokeinterface jdk.internal.net.http.websocket.RawChannel.write:([Ljava/nio/ByteBuffer;II)J
lstore 1
start local 1 3: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 5
4: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "%s bytes written"
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
5: StackMap locals: long
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.dstArray:[Ljava/nio/ByteBuffer;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 10
StackMap locals: jdk.internal.net.http.websocket.TransportImpl long top int int java.nio.ByteBuffer[]
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: aload 3
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 9
8: iconst_0
ireturn
end local 3 9: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 5
if_icmplt 6
11: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/internal/net/http/websocket/TransportImpl;
3 12 1 count J
7 9 3 b Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
public <T> java.util.concurrent.CompletableFuture<T> sendText(java.lang.CharSequence, boolean, T, java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>);
descriptor: (Ljava/lang/CharSequence;ZLjava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: lconst_0
lstore 5
start local 5 1: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 6
2: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 5
3: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send text %s message.length=%s last=%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
4: lload 5
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
5: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals: long
StackMap stack:
aload 1
invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
astore 7
start local 7 7: new jdk.internal.net.http.common.MinimalFuture
dup
invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
astore 8
start local 8 8: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.queue:Ljdk/internal/net/http/websocket/MessageQueue;
aload 7
iload 2
aload 3
aload 4
aload 8
invokevirtual jdk.internal.net.http.websocket.MessageQueue.addText:(Ljava/nio/CharBuffer;ZLjava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture;)V
9: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.sendScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
10: goto 14
StackMap locals: jdk.internal.net.http.websocket.TransportImpl java.lang.CharSequence int java.lang.Object java.util.function.BiConsumer long java.nio.CharBuffer jdk.internal.net.http.common.MinimalFuture
StackMap stack: java.io.IOException
11: astore 9
start local 9 12: aload 4
aconst_null
aload 9
invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
13: aload 8
aload 9
invokevirtual jdk.internal.net.http.common.MinimalFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 9 14: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 16
15: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send text %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 8
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
16: StackMap locals:
StackMap stack:
aload 8
areturn
end local 8 end local 7 end local 5 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/internal/net/http/websocket/TransportImpl;
0 17 1 message Ljava/lang/CharSequence;
0 17 2 isLast Z
0 17 3 attachment TT;
0 17 4 action Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
1 17 5 id J
7 17 7 text Ljava/nio/CharBuffer;
8 17 8 f Ljdk/internal/net/http/common/MinimalFuture<TT;>;
12 14 9 e Ljava/io/IOException;
Exception table:
from to target type
8 10 11 Class java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/lang/CharSequence;ZTT;Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
message
isLast
attachment
action
public <T> java.util.concurrent.CompletableFuture<T> sendBinary(java.nio.ByteBuffer, boolean, T, java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>);
descriptor: (Ljava/nio/ByteBuffer;ZLjava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: lconst_0
lstore 5
start local 5 1: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 6
2: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 5
3: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send binary %s message.remaining=%s last=%s"
iconst_3
anewarray java.lang.Object
dup
iconst_0
4: lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()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
5: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals: long
StackMap stack:
new jdk.internal.net.http.common.MinimalFuture
dup
invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
astore 7
start local 7 7: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.queue:Ljdk/internal/net/http/websocket/MessageQueue;
aload 1
iload 2
aload 3
aload 4
aload 7
invokevirtual jdk.internal.net.http.websocket.MessageQueue.addBinary:(Ljava/nio/ByteBuffer;ZLjava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture;)V
8: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.sendScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
9: goto 13
StackMap locals: jdk.internal.net.http.websocket.TransportImpl java.nio.ByteBuffer int java.lang.Object java.util.function.BiConsumer long jdk.internal.net.http.common.MinimalFuture
StackMap stack: java.io.IOException
10: astore 8
start local 8 11: aload 4
aconst_null
aload 8
invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 7
aload 8
invokevirtual jdk.internal.net.http.common.MinimalFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 8 13: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.TransportImpl.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.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send binary %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 7
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 5 end local 4 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/TransportImpl;
0 16 1 message Ljava/nio/ByteBuffer;
0 16 2 isLast Z
0 16 3 attachment TT;
0 16 4 action Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
1 16 5 id J
7 16 7 f Ljdk/internal/net/http/common/MinimalFuture<TT;>;
11 13 8 e Ljava/io/IOException;
Exception table:
from to target type
7 9 10 Class java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;ZTT;Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
message
isLast
attachment
action
public <T> java.util.concurrent.CompletableFuture<T> sendPing(java.nio.ByteBuffer, T, java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>);
descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: lconst_0
lstore 4
start local 4 1: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 6
2: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 4
3: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send ping %s message.remaining=%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
4: lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
5: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals: long
StackMap stack:
new jdk.internal.net.http.common.MinimalFuture
dup
invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
astore 6
start local 6 7: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.queue:Ljdk/internal/net/http/websocket/MessageQueue;
aload 1
aload 2
aload 3
aload 6
invokevirtual jdk.internal.net.http.websocket.MessageQueue.addPing:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture;)V
8: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.sendScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
9: goto 13
StackMap locals: jdk.internal.net.http.websocket.TransportImpl java.nio.ByteBuffer java.lang.Object java.util.function.BiConsumer long jdk.internal.net.http.common.MinimalFuture
StackMap stack: java.io.IOException
10: astore 7
start local 7 11: aload 3
aconst_null
aload 7
invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 6
aload 7
invokevirtual jdk.internal.net.http.common.MinimalFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 7 13: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.TransportImpl.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.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send ping %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 6
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 4 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/TransportImpl;
0 16 1 message Ljava/nio/ByteBuffer;
0 16 2 attachment TT;
0 16 3 action Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
1 16 4 id J
7 16 6 f Ljdk/internal/net/http/common/MinimalFuture<TT;>;
11 13 7 e Ljava/io/IOException;
Exception table:
from to target type
7 9 10 Class java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;TT;Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
message
attachment
action
public <T> java.util.concurrent.CompletableFuture<T> sendPong(java.nio.ByteBuffer, T, java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>);
descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: lconst_0
lstore 4
start local 4 1: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 6
2: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 4
3: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send pong %s message.remaining=%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
4: lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
5: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals: long
StackMap stack:
new jdk.internal.net.http.common.MinimalFuture
dup
invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
astore 6
start local 6 7: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.queue:Ljdk/internal/net/http/websocket/MessageQueue;
aload 1
aload 2
aload 3
aload 6
invokevirtual jdk.internal.net.http.websocket.MessageQueue.addPong:(Ljava/nio/ByteBuffer;Ljava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture;)V
8: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.sendScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
9: goto 13
StackMap locals: jdk.internal.net.http.websocket.TransportImpl java.nio.ByteBuffer java.lang.Object java.util.function.BiConsumer long jdk.internal.net.http.common.MinimalFuture
StackMap stack: java.io.IOException
10: astore 7
start local 7 11: aload 3
aconst_null
aload 7
invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 6
aload 7
invokevirtual jdk.internal.net.http.common.MinimalFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 7 13: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.TransportImpl.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.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send pong %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 6
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 4 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/TransportImpl;
0 16 1 message Ljava/nio/ByteBuffer;
0 16 2 attachment TT;
0 16 3 action Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
1 16 4 id J
7 16 6 f Ljdk/internal/net/http/common/MinimalFuture<TT;>;
11 13 7 e Ljava/io/IOException;
Exception table:
from to target type
7 9 10 Class java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/nio/ByteBuffer;TT;Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
message
attachment
action
public <T> java.util.concurrent.CompletableFuture<T> sendPong(java.util.function.Supplier<? extends java.nio.ByteBuffer>, T, java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>);
descriptor: (Ljava/util/function/Supplier;Ljava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: lconst_0
lstore 4
start local 4 1: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 6
2: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 4
3: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "enter send pong %s supplier=%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
4: lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 1
aastore
5: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals: long
StackMap stack:
new jdk.internal.net.http.common.MinimalFuture
dup
invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
astore 6
start local 6 7: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.queue:Ljdk/internal/net/http/websocket/MessageQueue;
aload 1
aload 2
aload 3
aload 6
invokevirtual jdk.internal.net.http.websocket.MessageQueue.addPong:(Ljava/util/function/Supplier;Ljava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture;)V
8: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.sendScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
9: goto 13
StackMap locals: jdk.internal.net.http.websocket.TransportImpl java.util.function.Supplier java.lang.Object java.util.function.BiConsumer long jdk.internal.net.http.common.MinimalFuture
StackMap stack: java.io.IOException
10: astore 7
start local 7 11: aload 3
aconst_null
aload 7
invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 6
aload 7
invokevirtual jdk.internal.net.http.common.MinimalFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 7 13: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.TransportImpl.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.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send pong %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 6
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 4 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/TransportImpl;
0 16 1 message Ljava/util/function/Supplier<+Ljava/nio/ByteBuffer;>;
0 16 2 attachment TT;
0 16 3 action Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
1 16 4 id J
7 16 6 f Ljdk/internal/net/http/common/MinimalFuture<TT;>;
11 13 7 e Ljava/io/IOException;
Exception table:
from to target type
7 9 10 Class java.io.IOException
Signature: <T:Ljava/lang/Object;>(Ljava/util/function/Supplier<+Ljava/nio/ByteBuffer;>;TT;Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
message
attachment
action
public <T> java.util.concurrent.CompletableFuture<T> sendClose(int, java.lang.String, T, java.util.function.BiConsumer<? super T, ? super java.lang.Throwable>);
descriptor: (ILjava/lang/String;Ljava/lang/Object;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: lconst_0
lstore 5
start local 5 1: getstatic jdk.internal.net.http.websocket.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
invokeinterface jdk.internal.net.http.common.Logger.on:()Z
ifeq 6
2: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.counter:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
lstore 5
3: getstatic jdk.internal.net.http.websocket.TransportImpl.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
4: lload 5
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
5: invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals: long
StackMap stack:
new jdk.internal.net.http.common.MinimalFuture
dup
invokespecial jdk.internal.net.http.common.MinimalFuture.<init>:()V
astore 7
start local 7 7: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.queue:Ljdk/internal/net/http/websocket/MessageQueue;
iload 1
aload 2
invokestatic java.nio.CharBuffer.wrap:(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
aload 3
aload 4
aload 7
invokevirtual jdk.internal.net.http.websocket.MessageQueue.addClose:(ILjava/nio/CharBuffer;Ljava/lang/Object;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture;)V
8: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.sendScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
9: goto 13
StackMap locals: jdk.internal.net.http.websocket.TransportImpl int java.lang.String java.lang.Object java.util.function.BiConsumer long jdk.internal.net.http.common.MinimalFuture
StackMap stack: java.io.IOException
10: astore 8
start local 8 11: aload 4
aconst_null
aload 8
invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
12: aload 7
aload 8
invokevirtual jdk.internal.net.http.common.MinimalFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 8 13: StackMap locals:
StackMap stack:
getstatic jdk.internal.net.http.websocket.TransportImpl.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.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "exit send close %s returned %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 5
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 7
aastore
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;[Ljava/lang/Object;)V
15: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 5 end local 4 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/TransportImpl;
0 16 1 statusCode I
0 16 2 reason Ljava/lang/String;
0 16 3 attachment TT;
0 16 4 action Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;
1 16 5 id J
7 16 7 f Ljdk/internal/net/http/common/MinimalFuture<TT;>;
11 13 8 e Ljava/io/IOException;
Exception table:
from to target type
7 9 10 Class java.io.IOException
Signature: <T:Ljava/lang/Object;>(ILjava/lang/String;TT;Ljava/util/function/BiConsumer<-TT;-Ljava/lang/Throwable;>;)Ljava/util/concurrent/CompletableFuture<TT;>;
MethodParameters:
Name Flags
statusCode
reason
attachment
action
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.TransportImpl.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.TransportImpl.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.TransportImpl.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.TransportImpl.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/TransportImpl;
0 5 1 n J
MethodParameters:
Name Flags
n
public void acknowledgeReception();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.demand:Ljdk/internal/net/http/common/Demand;
invokevirtual jdk.internal.net.http.common.Demand.tryDecrement:()Z
istore 1
start local 1 1: iload 1
ifne 3
2: new java.lang.InternalError
dup
invokespecial java.lang.InternalError.<init>:()V
athrow
3: StackMap locals: int
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/net/http/websocket/TransportImpl;
1 4 1 decremented Z
public void closeOutput();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic jdk.internal.net.http.websocket.TransportImpl.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.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "closeOutput"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.closeLock:Ljava/lang/Object;
dup
astore 1
monitorenter
3: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.outputClosed:Z
ifne 13
4: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.TransportImpl.outputClosed:Z
5: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.channel:Ljdk/internal/net/http/websocket/RawChannel;
invokeinterface jdk.internal.net.http.websocket.RawChannel.shutdownOutput:()V
6: goto 11
StackMap locals: jdk.internal.net.http.websocket.TransportImpl java.lang.Object
StackMap stack: java.lang.Throwable
7: astore 2
8: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.inputClosed:Z
ifeq 10
9: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.channel:Ljdk/internal/net/http/websocket/RawChannel;
invokeinterface jdk.internal.net.http.websocket.RawChannel.close:()V
10: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.inputClosed:Z
ifeq 13
12: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.channel:Ljdk/internal/net/http/websocket/RawChannel;
invokeinterface jdk.internal.net.http.websocket.RawChannel.close:()V
13: StackMap locals:
StackMap stack:
aload 1
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 1
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.writeState:Ljava/util/concurrent/atomic/AtomicReference;
getstatic jdk.internal.net.http.websocket.TransportImpl$ChannelState.CLOSED:Ljdk/internal/net/http/websocket/TransportImpl$ChannelState;
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
18: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.sendScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.runOrSchedule:()V
19: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Ljdk/internal/net/http/websocket/TransportImpl;
Exception table:
from to target type
5 7 7 any
3 14 15 any
15 16 15 any
Exceptions:
throws java.io.IOException
public void closeInput();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: getstatic jdk.internal.net.http.websocket.TransportImpl.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.TransportImpl.debug:Ljdk/internal/net/http/common/Logger;
ldc "closeInput"
invokeinterface jdk.internal.net.http.common.Logger.log:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.closeLock:Ljava/lang/Object;
dup
astore 1
monitorenter
3: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.inputClosed:Z
ifne 14
4: aload 0
iconst_1
putfield jdk.internal.net.http.websocket.TransportImpl.inputClosed:Z
5: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.receiveScheduler:Ljdk/internal/net/http/common/SequentialScheduler;
invokevirtual jdk.internal.net.http.common.SequentialScheduler.stop:()V
6: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.channel:Ljdk/internal/net/http/websocket/RawChannel;
invokeinterface jdk.internal.net.http.websocket.RawChannel.shutdownInput:()V
7: goto 12
StackMap locals: jdk.internal.net.http.websocket.TransportImpl java.lang.Object
StackMap stack: java.lang.Throwable
8: astore 2
9: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.outputClosed:Z
ifeq 11
10: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.channel:Ljdk/internal/net/http/websocket/RawChannel;
invokeinterface jdk.internal.net.http.websocket.RawChannel.close:()V
11: StackMap locals: java.lang.Throwable
StackMap stack:
aload 2
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.outputClosed:Z
ifeq 14
13: aload 0
getfield jdk.internal.net.http.websocket.TransportImpl.channel:Ljdk/internal/net/http/websocket/RawChannel;
invokeinterface jdk.internal.net.http.websocket.RawChannel.close:()V
14: StackMap locals:
StackMap stack:
aload 1
monitorexit
15: goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
16: aload 1
monitorexit
17: athrow
18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Ljdk/internal/net/http/websocket/TransportImpl;
Exception table:
from to target type
5 8 8 any
3 15 16 any
16 17 16 any
Exceptions:
throws java.io.IOException
}
SourceFile: "TransportImpl.java"
NestMembers:
jdk.internal.net.http.websocket.TransportImpl$ChannelState jdk.internal.net.http.websocket.TransportImpl$ReadEvent jdk.internal.net.http.websocket.TransportImpl$ReceiveTask jdk.internal.net.http.websocket.TransportImpl$SendTask jdk.internal.net.http.websocket.TransportImpl$SendTask$1 jdk.internal.net.http.websocket.TransportImpl$SendTask$2 jdk.internal.net.http.websocket.TransportImpl$WriteEvent
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract RestartableTask = jdk.internal.net.http.common.SequentialScheduler$RestartableTask of jdk.internal.net.http.common.SequentialScheduler
final Reader = jdk.internal.net.http.websocket.Frame$Reader of jdk.internal.net.http.websocket.Frame
public abstract RawEvent = jdk.internal.net.http.websocket.RawChannel$RawEvent of jdk.internal.net.http.websocket.RawChannel
final ChannelState = jdk.internal.net.http.websocket.TransportImpl$ChannelState of jdk.internal.net.http.websocket.TransportImpl
private ReadEvent = jdk.internal.net.http.websocket.TransportImpl$ReadEvent of jdk.internal.net.http.websocket.TransportImpl
private ReceiveTask = jdk.internal.net.http.websocket.TransportImpl$ReceiveTask of jdk.internal.net.http.websocket.TransportImpl
private SendTask = jdk.internal.net.http.websocket.TransportImpl$SendTask of jdk.internal.net.http.websocket.TransportImpl
private WriteEvent = jdk.internal.net.http.websocket.TransportImpl$WriteEvent of jdk.internal.net.http.websocket.TransportImpl