class jdk.incubator.http.PlainHttpConnection extends jdk.incubator.http.HttpConnection implements jdk.incubator.http.AsyncConnection
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.PlainHttpConnection
super_class: jdk.incubator.http.HttpConnection
{
protected final java.nio.channels.SocketChannel chan;
descriptor: Ljava/nio/channels/SocketChannel;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private volatile boolean connected;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private boolean closed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private volatile java.util.function.Consumer<jdk.incubator.http.internal.common.ByteBufferReference> asyncReceiver;
descriptor: Ljava/util/function/Consumer;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/function/Consumer<Ljdk/incubator/http/internal/common/ByteBufferReference;>;
private volatile java.util.function.Consumer<java.lang.Throwable> errorReceiver;
descriptor: Ljava/util/function/Consumer;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
private volatile java.util.function.Supplier<jdk.incubator.http.internal.common.ByteBufferReference> readBufferSupplier;
descriptor: Ljava/util/function/Supplier;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
Signature: Ljava/util/function/Supplier<Ljdk/incubator/http/internal/common/ByteBufferReference;>;
private boolean asyncReading;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final jdk.incubator.http.internal.common.AsyncWriteQueue asyncOutputQ;
descriptor: Ljdk/incubator/http/internal/common/AsyncWriteQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object reading;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljdk/incubator/http/PlainHttpConnection;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic jdk.incubator.http.PlainHttpConnection.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void startReading();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.PlainHttpConnection.reading:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
iconst_1
putfield jdk.incubator.http.PlainHttpConnection.asyncReading:Z
2: aload 1
monitorexit
3: goto 6
StackMap locals: jdk.incubator.http.PlainHttpConnection java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.PlainHttpConnection.client:Ljdk/incubator/http/HttpClientImpl;
new jdk.incubator.http.PlainHttpConnection$ReadEvent
dup
aload 0
invokespecial jdk.incubator.http.PlainHttpConnection$ReadEvent.<init>:(Ljdk/incubator/http/PlainHttpConnection;)V
invokevirtual jdk.incubator.http.HttpClientImpl.registerEvent:(Ljdk/incubator/http/AsyncEvent;)V
7: goto 10
StackMap locals:
StackMap stack: java.io.IOException
8: pop
9: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.shutdown:()V
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/incubator/http/PlainHttpConnection;
Exception table:
from to target type
1 3 4 any
4 5 4 any
0 7 8 Class java.io.IOException
public void stopAsyncReading();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.PlainHttpConnection.reading:Ljava/lang/Object;
dup
astore 1
monitorenter
1: aload 0
iconst_0
putfield jdk.incubator.http.PlainHttpConnection.asyncReading:Z
2: aload 1
monitorexit
3: goto 6
StackMap locals: jdk.incubator.http.PlainHttpConnection java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.PlainHttpConnection.client:Ljdk/incubator/http/HttpClientImpl;
aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
invokevirtual jdk.incubator.http.HttpClientImpl.cancelRegistration:(Ljava/nio/channels/SocketChannel;)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/incubator/http/PlainHttpConnection;
Exception table:
from to target type
1 3 4 any
4 5 4 any
public java.util.concurrent.CompletableFuture<java.lang.Void> connectAsync();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: new jdk.incubator.http.internal.common.MinimalFuture
dup
invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
astore 1
start local 1 1: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
iconst_0
invokevirtual java.nio.channels.SocketChannel.configureBlocking:(Z)Ljava/nio/channels/SelectableChannel;
pop
2: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
aload 0
getfield jdk.incubator.http.PlainHttpConnection.address:Ljava/net/InetSocketAddress;
invokevirtual java.nio.channels.SocketChannel.connect:(Ljava/net/SocketAddress;)Z
pop
3: aload 0
getfield jdk.incubator.http.PlainHttpConnection.client:Ljdk/incubator/http/HttpClientImpl;
new jdk.incubator.http.PlainHttpConnection$ConnectEvent
dup
aload 0
aload 1
invokespecial jdk.incubator.http.PlainHttpConnection$ConnectEvent.<init>:(Ljdk/incubator/http/PlainHttpConnection;Ljava/util/concurrent/CompletableFuture;)V
invokevirtual jdk.incubator.http.HttpClientImpl.registerEvent:(Ljdk/incubator/http/AsyncEvent;)V
4: goto 7
StackMap locals: jdk.incubator.http.PlainHttpConnection java.util.concurrent.CompletableFuture
StackMap stack: java.io.IOException
5: astore 2
start local 2 6: aload 1
aload 2
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 2 7: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/incubator/http/PlainHttpConnection;
1 8 1 plainFuture Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
6 7 2 e Ljava/io/IOException;
Exception table:
from to target type
1 4 5 Class java.io.IOException
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
public void connect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
aload 0
getfield jdk.incubator.http.PlainHttpConnection.address:Ljava/net/InetSocketAddress;
invokevirtual java.nio.channels.SocketChannel.connect:(Ljava/net/SocketAddress;)Z
pop
1: aload 0
iconst_1
putfield jdk.incubator.http.PlainHttpConnection.connected:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/PlainHttpConnection;
Exceptions:
throws java.io.IOException
java.nio.channels.SocketChannel channel();
descriptor: ()Ljava/nio/channels/SocketChannel;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/PlainHttpConnection;
void <init>(java.net.InetSocketAddress, jdk.incubator.http.HttpClientImpl);
descriptor: (Ljava/net/InetSocketAddress;Ljdk/incubator/http/HttpClientImpl;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial jdk.incubator.http.HttpConnection.<init>:(Ljava/net/InetSocketAddress;Ljdk/incubator/http/HttpClientImpl;)V
1: aload 0
new jdk.incubator.http.internal.common.AsyncWriteQueue
dup
aload 0
invokedynamic accept(Ljdk/incubator/http/PlainHttpConnection;)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/incubator/http/PlainHttpConnection.asyncOutput([Ljdk/incubator/http/internal/common/ByteBufferReference;Ljdk/incubator/http/internal/common/AsyncWriteQueue;)V (5)
([Ljdk/incubator/http/internal/common/ByteBufferReference;Ljdk/incubator/http/internal/common/AsyncWriteQueue;)V
invokespecial jdk.incubator.http.internal.common.AsyncWriteQueue.<init>:(Ljava/util/function/BiConsumer;)V
putfield jdk.incubator.http.PlainHttpConnection.asyncOutputQ:Ljdk/incubator/http/internal/common/AsyncWriteQueue;
2: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield jdk.incubator.http.PlainHttpConnection.reading:Ljava/lang/Object;
3: aload 0
invokestatic java.nio.channels.SocketChannel.open:()Ljava/nio/channels/SocketChannel;
putfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
4: aload 2
invokevirtual jdk.incubator.http.HttpClientImpl.getReceiveBufferSize:()I
istore 3
start local 3 5: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
getstatic java.net.StandardSocketOptions.SO_RCVBUF:Ljava/net/SocketOption;
iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.nio.channels.SocketChannel.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/SocketChannel;
pop
6: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
getstatic java.net.StandardSocketOptions.TCP_NODELAY:Ljava/net/SocketOption;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.nio.channels.SocketChannel.setOption:(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/SocketChannel;
pop
end local 3 7: goto 10
StackMap locals: jdk.incubator.http.PlainHttpConnection java.net.InetSocketAddress jdk.incubator.http.HttpClientImpl
StackMap stack: java.io.IOException
8: astore 3
start local 3 9: new java.lang.InternalError
dup
aload 3
invokespecial java.lang.InternalError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/incubator/http/PlainHttpConnection;
0 11 1 addr Ljava/net/InetSocketAddress;
0 11 2 client Ljdk/incubator/http/HttpClientImpl;
5 7 3 bufsize I
9 10 3 e Ljava/io/IOException;
Exception table:
from to target type
3 7 8 Class java.io.IOException
MethodParameters:
Name Flags
addr
client
long write(java.nio.ByteBuffer[], int, int);
descriptor: ([Ljava/nio/ByteBuffer;II)J
flags: (0x0000)
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.getMode:()Ljdk/incubator/http/HttpConnection$Mode;
getstatic jdk.incubator.http.HttpConnection$Mode.ASYNC:Ljdk/incubator/http/HttpConnection$Mode;
if_acmpeq 2
1: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
aload 1
iload 2
iload 3
invokevirtual java.nio.channels.SocketChannel.write:([Ljava/nio/ByteBuffer;II)J
lreturn
2: StackMap locals:
StackMap stack:
aload 1
iload 2
iload 3
invokestatic jdk.incubator.http.internal.common.Utils.reduce:([Ljava/nio/ByteBuffer;II)[Ljava/nio/ByteBuffer;
astore 1
3: aload 1
invokestatic jdk.incubator.http.internal.common.Utils.remaining:([Ljava/nio/ByteBuffer;)I
i2l
lstore 4
start local 4 4: aload 0
getfield jdk.incubator.http.PlainHttpConnection.asyncOutputQ:Ljdk/incubator/http/internal/common/AsyncWriteQueue;
aload 1
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.toReferences:([Ljava/nio/ByteBuffer;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
invokevirtual jdk.incubator.http.internal.common.AsyncWriteQueue.put:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
5: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.flushAsync:()V
6: lload 4
lreturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/incubator/http/PlainHttpConnection;
0 7 1 buffers [Ljava/nio/ByteBuffer;
0 7 2 start I
0 7 3 number I
4 7 4 n J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffers
start
number
long write(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)J
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.getMode:()Ljdk/incubator/http/HttpConnection$Mode;
getstatic jdk.incubator.http.HttpConnection$Mode.ASYNC:Ljdk/incubator/http/HttpConnection$Mode;
if_acmpeq 2
1: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.write:(Ljava/nio/ByteBuffer;)I
i2l
lreturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
lstore 2
start local 2 3: aload 0
getfield jdk.incubator.http.PlainHttpConnection.asyncOutputQ:Ljdk/incubator/http/internal/common/AsyncWriteQueue;
iconst_1
anewarray java.nio.ByteBuffer
dup
iconst_0
aload 1
aastore
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.toReferences:([Ljava/nio/ByteBuffer;)[Ljdk/incubator/http/internal/common/ByteBufferReference;
invokevirtual jdk.incubator.http.internal.common.AsyncWriteQueue.put:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
4: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.flushAsync:()V
5: lload 2
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/PlainHttpConnection;
0 6 1 buffer Ljava/nio/ByteBuffer;
3 6 2 n J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
void flushRegistered();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.getMode:()Ljdk/incubator/http/HttpConnection$Mode;
getstatic jdk.incubator.http.HttpConnection$Mode.ASYNC:Ljdk/incubator/http/HttpConnection$Mode;
if_acmpne 5
1: aload 0
getfield jdk.incubator.http.PlainHttpConnection.asyncOutputQ:Ljdk/incubator/http/internal/common/AsyncWriteQueue;
invokevirtual jdk.incubator.http.internal.common.AsyncWriteQueue.flushDelayed:()V
2: goto 5
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.shutdown:()V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/PlainHttpConnection;
Exception table:
from to target type
1 2 3 Class java.io.IOException
public void writeAsync(jdk.incubator.http.internal.common.ByteBufferReference[]);
descriptor: ([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.getMode:()Ljdk/incubator/http/HttpConnection$Mode;
getstatic jdk.incubator.http.HttpConnection$Mode.ASYNC:Ljdk/incubator/http/HttpConnection$Mode;
if_acmpeq 4
1: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
aload 1
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.toBuffers:([Ljdk/incubator/http/internal/common/ByteBufferReference;)[Ljava/nio/ByteBuffer;
invokevirtual java.nio.channels.SocketChannel.write:([Ljava/nio/ByteBuffer;)J
pop2
2: aload 1
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.clear:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.PlainHttpConnection.asyncOutputQ:Ljdk/incubator/http/internal/common/AsyncWriteQueue;
aload 1
invokevirtual jdk.incubator.http.internal.common.AsyncWriteQueue.put:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/PlainHttpConnection;
0 6 1 buffers [Ljdk/incubator/http/internal/common/ByteBufferReference;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffers
public void writeAsyncUnordered(jdk.incubator.http.internal.common.ByteBufferReference[]);
descriptor: ([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.getMode:()Ljdk/incubator/http/HttpConnection$Mode;
getstatic jdk.incubator.http.HttpConnection$Mode.ASYNC:Ljdk/incubator/http/HttpConnection$Mode;
if_acmpeq 4
1: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
aload 1
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.toBuffers:([Ljdk/incubator/http/internal/common/ByteBufferReference;)[Ljava/nio/ByteBuffer;
invokevirtual java.nio.channels.SocketChannel.write:([Ljava/nio/ByteBuffer;)J
pop2
2: aload 1
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.clear:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
3: goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.PlainHttpConnection.asyncOutputQ:Ljdk/incubator/http/internal/common/AsyncWriteQueue;
aload 1
invokevirtual jdk.incubator.http.internal.common.AsyncWriteQueue.putFirst:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/PlainHttpConnection;
0 6 1 buffers [Ljdk/incubator/http/internal/common/ByteBufferReference;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffers
public void flushAsync();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.getMode:()Ljdk/incubator/http/HttpConnection$Mode;
getstatic jdk.incubator.http.HttpConnection$Mode.ASYNC:Ljdk/incubator/http/HttpConnection$Mode;
if_acmpne 2
1: aload 0
getfield jdk.incubator.http.PlainHttpConnection.asyncOutputQ:Ljdk/incubator/http/internal/common/AsyncWriteQueue;
invokevirtual jdk.incubator.http.internal.common.AsyncWriteQueue.flush:()Z
pop
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/PlainHttpConnection;
Exceptions:
throws java.io.IOException
public void enableCallback();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic jdk.incubator.http.PlainHttpConnection.$assertionsDisabled:Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/PlainHttpConnection;
void asyncOutput(jdk.incubator.http.internal.common.ByteBufferReference[], jdk.incubator.http.internal.common.AsyncWriteQueue);
descriptor: ([Ljdk/incubator/http/internal/common/ByteBufferReference;Ljdk/incubator/http/internal/common/AsyncWriteQueue;)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.toBuffers:([Ljdk/incubator/http/internal/common/ByteBufferReference;)[Ljava/nio/ByteBuffer;
astore 3
start local 3 1: goto 7
2: StackMap locals: java.nio.ByteBuffer[]
StackMap stack:
aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
aload 3
invokevirtual java.nio.channels.SocketChannel.write:([Ljava/nio/ByteBuffer;)J
lstore 4
start local 4 3: lload 4
lconst_0
lcmp
ifne 7
4: aload 2
aload 1
invokevirtual jdk.incubator.http.internal.common.AsyncWriteQueue.setDelayed:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
5: aload 0
getfield jdk.incubator.http.PlainHttpConnection.client:Ljdk/incubator/http/HttpClientImpl;
new jdk.incubator.http.PlainHttpConnection$WriteEvent
dup
aload 0
invokespecial jdk.incubator.http.PlainHttpConnection$WriteEvent.<init>:(Ljdk/incubator/http/PlainHttpConnection;)V
invokevirtual jdk.incubator.http.HttpClientImpl.registerEvent:(Ljdk/incubator/http/AsyncEvent;)V
6: return
end local 4 7: StackMap locals:
StackMap stack:
aload 3
invokestatic jdk.incubator.http.internal.common.Utils.remaining:([Ljava/nio/ByteBuffer;)I
ifgt 2
8: aload 1
invokestatic jdk.incubator.http.internal.common.ByteBufferReference.clear:([Ljdk/incubator/http/internal/common/ByteBufferReference;)V
end local 3 9: goto 12
StackMap locals: jdk.incubator.http.PlainHttpConnection jdk.incubator.http.internal.common.ByteBufferReference[] jdk.incubator.http.internal.common.AsyncWriteQueue
StackMap stack: java.io.IOException
10: pop
11: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.shutdown:()V
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljdk/incubator/http/PlainHttpConnection;
0 13 1 refs [Ljdk/incubator/http/internal/common/ByteBufferReference;
0 13 2 delayCallback Ljdk/incubator/http/internal/common/AsyncWriteQueue;
1 9 3 bufs [Ljava/nio/ByteBuffer;
3 7 4 n J
Exception table:
from to target type
0 6 10 Class java.io.IOException
7 9 10 Class java.io.IOException
MethodParameters:
Name Flags
refs
delayCallback
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "PlainHttpConnection: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokespecial jdk.incubator.http.HttpConnection.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/PlainHttpConnection;
public synchronized void close();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.PlainHttpConnection.closed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.incubator.http.PlainHttpConnection.closed:Z
3: new java.lang.StringBuilder
dup
ldc "Closing: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
4: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.close:()V
5: goto 7
StackMap locals:
StackMap stack: java.io.IOException
6: pop
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/incubator/http/PlainHttpConnection;
Exception table:
from to target type
3 5 6 Class java.io.IOException
void shutdownInput();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.shutdownInput:()Ljava/nio/channels/SocketChannel;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/PlainHttpConnection;
Exceptions:
throws java.io.IOException
void shutdownOutput();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
invokevirtual java.nio.channels.SocketChannel.shutdownOutput:()Ljava/nio/channels/SocketChannel;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/incubator/http/PlainHttpConnection;
Exceptions:
throws java.io.IOException
void shutdown();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.close:()V
1: aload 0
getfield jdk.incubator.http.PlainHttpConnection.errorReceiver:Ljava/util/function/Consumer;
new java.io.IOException
dup
ldc "Connection aborted"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/PlainHttpConnection;
void asyncRead();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.PlainHttpConnection.reading:Ljava/lang/Object;
dup
astore 1
monitorenter
1: goto 12
2: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield jdk.incubator.http.PlainHttpConnection.readBufferSupplier:Ljava/util/function/Supplier;
invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
checkcast jdk.incubator.http.internal.common.ByteBufferReference
astore 2
start local 2 3: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
aload 2
invokevirtual jdk.incubator.http.internal.common.ByteBufferReference.get:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
istore 3
start local 3 4: iload 3
iconst_m1
if_icmpne 6
5: new java.io.IOException
dup
invokespecial java.io.IOException.<init>:()V
athrow
6: StackMap locals: jdk.incubator.http.internal.common.ByteBufferReference int
StackMap stack:
iload 3
ifne 10
7: aload 2
invokevirtual jdk.incubator.http.internal.common.ByteBufferReference.clear:()V
8: aload 1
monitorexit
9: return
10: StackMap locals:
StackMap stack:
aload 2
invokevirtual jdk.incubator.http.internal.common.ByteBufferReference.get:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
11: aload 0
getfield jdk.incubator.http.PlainHttpConnection.asyncReceiver:Ljava/util/function/Consumer;
aload 2
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 3 end local 2 12: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.PlainHttpConnection.asyncReading:Z
ifne 2
13: goto 16
StackMap locals:
StackMap stack: java.io.IOException
14: pop
15: aload 0
invokevirtual jdk.incubator.http.PlainHttpConnection.shutdown:()V
16: StackMap locals:
StackMap stack:
aload 1
monitorexit
17: goto 20
StackMap locals:
StackMap stack: java.lang.Throwable
18: aload 1
monitorexit
19: athrow
20: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Ljdk/incubator/http/PlainHttpConnection;
3 12 2 buf Ljdk/incubator/http/internal/common/ByteBufferReference;
4 12 3 n I
Exception table:
from to target type
1 8 14 Class java.io.IOException
10 13 14 Class java.io.IOException
1 9 18 any
10 17 18 any
18 19 18 any
protected java.nio.ByteBuffer readImpl();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=1
start local 0 0: sipush 8192
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual jdk.incubator.http.PlainHttpConnection.readImpl:(Ljava/nio/ByteBuffer;)I
istore 2
start local 2 2: iload 2
ifle 4
3: aload 1
areturn
4: StackMap locals: java.nio.ByteBuffer int
StackMap stack:
iload 2
ifne 6
5: getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BYTEBUFFER:Ljava/nio/ByteBuffer;
areturn
6: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/incubator/http/PlainHttpConnection;
1 7 1 dst Ljava/nio/ByteBuffer;
2 7 2 n I
Exceptions:
throws java.io.IOException
private int readImpl(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 1: aload 0
getfield jdk.incubator.http.PlainHttpConnection.chan:Ljava/nio/channels/SocketChannel;
aload 1
invokevirtual java.nio.channels.SocketChannel.read:(Ljava/nio/ByteBuffer;)I
istore 3
start local 3 2: iload 3
iconst_m1
if_icmpne 4
3: iconst_m1
ireturn
4: StackMap locals: int int
StackMap stack:
aload 1
iload 2
invokestatic jdk.incubator.http.internal.common.Utils.flipToMark:(Ljava/nio/ByteBuffer;I)V
5: iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/PlainHttpConnection;
0 6 1 buf Ljava/nio/ByteBuffer;
1 6 2 mark I
2 6 3 n I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buf
jdk.incubator.http.ConnectionPool$CacheKey cacheKey();
descriptor: ()Ljdk/incubator/http/ConnectionPool$CacheKey;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: new jdk.incubator.http.ConnectionPool$CacheKey
dup
aload 0
getfield jdk.incubator.http.PlainHttpConnection.address:Ljava/net/InetSocketAddress;
aconst_null
invokespecial jdk.incubator.http.ConnectionPool$CacheKey.<init>:(Ljava/net/InetSocketAddress;Ljava/net/InetSocketAddress;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/PlainHttpConnection;
synchronized boolean connected();
descriptor: ()Z
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.PlainHttpConnection.connected:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/PlainHttpConnection;
boolean isSecure();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/PlainHttpConnection;
boolean isProxied();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/http/PlainHttpConnection;
public void setAsyncCallbacks(java.util.function.Consumer<jdk.incubator.http.internal.common.ByteBufferReference>, java.util.function.Consumer<java.lang.Throwable>, java.util.function.Supplier<jdk.incubator.http.internal.common.ByteBufferReference>);
descriptor: (Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/util/function/Supplier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
putfield jdk.incubator.http.PlainHttpConnection.asyncReceiver:Ljava/util/function/Consumer;
1: aload 0
aload 2
putfield jdk.incubator.http.PlainHttpConnection.errorReceiver:Ljava/util/function/Consumer;
2: aload 0
aload 3
putfield jdk.incubator.http.PlainHttpConnection.readBufferSupplier:Ljava/util/function/Supplier;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/incubator/http/PlainHttpConnection;
0 4 1 asyncReceiver Ljava/util/function/Consumer<Ljdk/incubator/http/internal/common/ByteBufferReference;>;
0 4 2 errorReceiver Ljava/util/function/Consumer<Ljava/lang/Throwable;>;
0 4 3 readBufferSupplier Ljava/util/function/Supplier<Ljdk/incubator/http/internal/common/ByteBufferReference;>;
Signature: (Ljava/util/function/Consumer<Ljdk/incubator/http/internal/common/ByteBufferReference;>;Ljava/util/function/Consumer<Ljava/lang/Throwable;>;Ljava/util/function/Supplier<Ljdk/incubator/http/internal/common/ByteBufferReference;>;)V
MethodParameters:
Name Flags
asyncReceiver
errorReceiver
readBufferSupplier
java.util.concurrent.CompletableFuture<java.lang.Void> whenReceivingResponse();
descriptor: ()Ljava/util/concurrent/CompletableFuture;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=1
start local 0 0: new jdk.incubator.http.internal.common.MinimalFuture
dup
invokespecial jdk.incubator.http.internal.common.MinimalFuture.<init>:()V
astore 1
start local 1 1: new jdk.incubator.http.PlainHttpConnection$ReceiveResponseEvent
dup
aload 0
aload 1
invokespecial jdk.incubator.http.PlainHttpConnection$ReceiveResponseEvent.<init>:(Ljdk/incubator/http/PlainHttpConnection;Ljava/util/concurrent/CompletableFuture;)V
astore 2
start local 2 2: aload 0
getfield jdk.incubator.http.PlainHttpConnection.client:Ljdk/incubator/http/HttpClientImpl;
aload 2
invokevirtual jdk.incubator.http.HttpClientImpl.registerEvent:(Ljdk/incubator/http/AsyncEvent;)V
end local 2 3: goto 6
StackMap locals: jdk.incubator.http.PlainHttpConnection java.util.concurrent.CompletableFuture
StackMap stack: java.io.IOException
4: astore 2
start local 2 5: aload 1
aload 2
invokevirtual java.util.concurrent.CompletableFuture.completeExceptionally:(Ljava/lang/Throwable;)Z
pop
end local 2 6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/incubator/http/PlainHttpConnection;
1 7 1 cf Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
2 3 2 evt Ljdk/incubator/http/PlainHttpConnection$ReceiveResponseEvent;
5 6 2 e Ljava/io/IOException;
Exception table:
from to target type
1 3 4 Class java.io.IOException
Signature: ()Ljava/util/concurrent/CompletableFuture<Ljava/lang/Void;>;
}
SourceFile: "PlainHttpConnection.java"
NestMembers:
jdk.incubator.http.PlainHttpConnection$ConnectEvent jdk.incubator.http.PlainHttpConnection$ReadEvent jdk.incubator.http.PlainHttpConnection$ReceiveResponseEvent jdk.incubator.http.PlainHttpConnection$WriteEvent
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
CacheKey = jdk.incubator.http.ConnectionPool$CacheKey of jdk.incubator.http.ConnectionPool
final Mode = jdk.incubator.http.HttpConnection$Mode of jdk.incubator.http.HttpConnection
ConnectEvent = jdk.incubator.http.PlainHttpConnection$ConnectEvent of jdk.incubator.http.PlainHttpConnection
ReadEvent = jdk.incubator.http.PlainHttpConnection$ReadEvent of jdk.incubator.http.PlainHttpConnection
ReceiveResponseEvent = jdk.incubator.http.PlainHttpConnection$ReceiveResponseEvent of jdk.incubator.http.PlainHttpConnection
WriteEvent = jdk.incubator.http.PlainHttpConnection$WriteEvent of jdk.incubator.http.PlainHttpConnection