class jdk.incubator.http.ResponseContent
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.incubator.http.ResponseContent
super_class: java.lang.Object
{
final jdk.incubator.http.HttpResponse$BodyProcessor<?> pusher;
descriptor: Ljdk/incubator/http/HttpResponse$BodyProcessor;
flags: (0x0010) ACC_FINAL
Signature: Ljdk/incubator/http/HttpResponse$BodyProcessor<*>;
final jdk.incubator.http.HttpConnection connection;
descriptor: Ljdk/incubator/http/HttpConnection;
flags: (0x0010) ACC_FINAL
final int contentLength;
descriptor: I
flags: (0x0010) ACC_FINAL
java.nio.ByteBuffer buffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0000)
final jdk.incubator.http.ResponseHeaders ;
descriptor: Ljdk/incubator/http/ResponseHeaders;
flags: (0x0010) ACC_FINAL
private final java.util.function.Consumer<java.util.Optional<java.nio.ByteBuffer>> dataConsumer;
descriptor: Ljava/util/function/Consumer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Consumer<Ljava/util/Optional<Ljava/nio/ByteBuffer;>;>;
private final java.util.function.Consumer<java.io.IOException> errorConsumer;
descriptor: Ljava/util/function/Consumer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/Consumer<Ljava/io/IOException;>;
private final jdk.incubator.http.HttpClientImpl client;
descriptor: Ljdk/incubator/http/HttpClientImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Runnable onFinished;
descriptor: Ljava/lang/Runnable;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final int LF;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 10
static final int CR;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 13
static final int SP;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 32
static final int BUF_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1024
boolean chunkedContent;
descriptor: Z
flags: (0x0000)
boolean chunkedContentInitialized;
descriptor: Z
flags: (0x0000)
int chunklen;
descriptor: I
flags: (0x0000)
int bytesremaining;
descriptor: I
flags: (0x0000)
int bytesread;
descriptor: I
flags: (0x0000)
java.nio.ByteBuffer chunkbuf;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0000)
java.nio.ByteBuffer initialBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0000)
int fixedBytesReturned;
descriptor: I
flags: (0x0000)
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/ResponseContent;
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.ResponseContent.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.incubator.http.HttpConnection, int, jdk.incubator.http.ResponseHeaders, jdk.incubator.http.HttpResponse$BodyProcessor<?>, java.util.function.Consumer<java.util.Optional<java.nio.ByteBuffer>>, java.util.function.Consumer<java.io.IOException>, java.lang.Runnable);
descriptor: (Ljdk/incubator/http/HttpConnection;ILjdk/incubator/http/ResponseHeaders;Ljdk/incubator/http/HttpResponse$BodyProcessor;Ljava/util/function/Consumer;Ljava/util/function/Consumer;Ljava/lang/Runnable;)V
flags: (0x0000)
Code:
stack=2, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_m1
putfield jdk.incubator.http.ResponseContent.chunklen:I
2: aload 0
aload 4
putfield jdk.incubator.http.ResponseContent.pusher:Ljdk/incubator/http/HttpResponse$BodyProcessor;
3: aload 0
aload 1
putfield jdk.incubator.http.ResponseContent.connection:Ljdk/incubator/http/HttpConnection;
4: aload 0
iload 2
putfield jdk.incubator.http.ResponseContent.contentLength:I
5: aload 0
aload 3
putfield jdk.incubator.http.ResponseContent.headers:Ljdk/incubator/http/ResponseHeaders;
6: aload 0
aload 5
putfield jdk.incubator.http.ResponseContent.dataConsumer:Ljava/util/function/Consumer;
7: aload 0
aload 6
putfield jdk.incubator.http.ResponseContent.errorConsumer:Ljava/util/function/Consumer;
8: aload 0
aload 1
getfield jdk.incubator.http.HttpConnection.client:Ljdk/incubator/http/HttpClientImpl;
putfield jdk.incubator.http.ResponseContent.client:Ljdk/incubator/http/HttpClientImpl;
9: aload 0
aload 7
putfield jdk.incubator.http.ResponseContent.onFinished:Ljava/lang/Runnable;
10: return
end local 7 end local 6 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 11 0 this Ljdk/incubator/http/ResponseContent;
0 11 1 connection Ljdk/incubator/http/HttpConnection;
0 11 2 contentLength I
0 11 3 h Ljdk/incubator/http/ResponseHeaders;
0 11 4 userProcessor Ljdk/incubator/http/HttpResponse$BodyProcessor<*>;
0 11 5 dataConsumer Ljava/util/function/Consumer<Ljava/util/Optional<Ljava/nio/ByteBuffer;>;>;
0 11 6 errorConsumer Ljava/util/function/Consumer<Ljava/io/IOException;>;
0 11 7 onFinished Ljava/lang/Runnable;
Signature: (Ljdk/incubator/http/HttpConnection;ILjdk/incubator/http/ResponseHeaders;Ljdk/incubator/http/HttpResponse$BodyProcessor<*>;Ljava/util/function/Consumer<Ljava/util/Optional<Ljava/nio/ByteBuffer;>;>;Ljava/util/function/Consumer<Ljava/io/IOException;>;Ljava/lang/Runnable;)V
MethodParameters:
Name Flags
connection
contentLength
h
userProcessor
dataConsumer
errorConsumer
onFinished
private boolean contentChunked();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.ResponseContent.chunkedContentInitialized:Z
ifeq 2
1: aload 0
getfield jdk.incubator.http.ResponseContent.chunkedContent:Z
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.ResponseContent.contentLength:I
iconst_m1
if_icmpne 12
3: aload 0
getfield jdk.incubator.http.ResponseContent.headers:Ljdk/incubator/http/ResponseHeaders;
ldc "Transfer-Encoding"
invokevirtual jdk.incubator.http.ResponseHeaders.firstValue:(Ljava/lang/String;)Ljava/util/Optional;
4: ldc ""
invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
5: astore 1
start local 1 6: aload 1
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 11
7: aload 1
ldc "chunked"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
8: aload 0
iconst_1
putfield jdk.incubator.http.ResponseContent.chunkedContent:Z
9: goto 12
10: StackMap locals: java.lang.String
StackMap stack:
new java.io.IOException
dup
ldc "invalid content"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield jdk.incubator.http.ResponseContent.chunkedContent:Z
end local 1 12: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.incubator.http.ResponseContent.chunkedContentInitialized:Z
13: aload 0
getfield jdk.incubator.http.ResponseContent.chunkedContent:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/incubator/http/ResponseContent;
6 12 1 tc Ljava/lang/String;
Exceptions:
throws java.io.IOException
void pushBody(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.ResponseContent.contentChunked:()Z
ifeq 3
1: aload 0
aload 1
invokevirtual jdk.incubator.http.ResponseContent.pushBodyChunked:(Ljava/nio/ByteBuffer;)V
2: goto 7
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jdk.incubator.http.ResponseContent.pushBodyFixed:(Ljava/nio/ByteBuffer;)V
4: goto 7
StackMap locals:
StackMap stack: java.io.IOException
5: astore 2
start local 2 6: aload 0
getfield jdk.incubator.http.ResponseContent.errorConsumer:Ljava/util/function/Consumer;
aload 2
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/incubator/http/ResponseContent;
0 8 1 b Ljava/nio/ByteBuffer;
6 7 2 t Ljava/io/IOException;
Exception table:
from to target type
0 4 5 Class java.io.IOException
MethodParameters:
Name Flags
b
int readChunkLen();
descriptor: ()I
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
iconst_0
putfield jdk.incubator.http.ResponseContent.chunklen:I
1: iconst_0
istore 1
start local 1 2: StackMap locals: int
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.ResponseContent.getHunk:()V
3: aload 0
getfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.get:()B
istore 2
start local 2 4: iload 1
ifeq 8
5: iload 2
bipush 10
if_icmpne 7
6: aload 0
getfield jdk.incubator.http.ResponseContent.chunklen:I
iconst_2
iadd
ireturn
7: StackMap locals: int
StackMap stack:
new java.io.IOException
dup
ldc "invalid chunk header"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals:
StackMap stack:
iload 2
bipush 13
if_icmpne 11
9: iconst_1
istore 1
10: goto 2
11: StackMap locals:
StackMap stack:
aload 0
iload 2
invokevirtual jdk.incubator.http.ResponseContent.toDigit:(I)I
istore 3
start local 3 12: aload 0
aload 0
getfield jdk.incubator.http.ResponseContent.chunklen:I
bipush 16
imul
iload 3
iadd
putfield jdk.incubator.http.ResponseContent.chunklen:I
end local 3 end local 2 13: goto 2
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljdk/incubator/http/ResponseContent;
2 14 1 cr Z
4 13 2 c I
12 13 3 digit I
Exceptions:
throws java.io.IOException
private void getHunk();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
ifnull 1
aload 0
getfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.incubator.http.ResponseContent.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.read:()Ljava/nio/ByteBuffer;
putfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/ResponseContent;
Exceptions:
throws java.io.IOException
private void consumeBytes(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.incubator.http.ResponseContent.getHunk:()V
1: goto 7
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 1
invokestatic java.lang.Math.min:(II)I
istore 2
start local 2 3: aload 0
getfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
aload 0
getfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iload 2
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
4: iload 1
iload 2
isub
istore 1
5: iload 1
ifle 7
6: aload 0
invokevirtual jdk.incubator.http.ResponseContent.getHunk:()V
end local 2 7: StackMap locals:
StackMap stack:
iload 1
ifgt 2
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/incubator/http/ResponseContent;
0 9 1 n I
3 7 2 e I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
n
java.nio.ByteBuffer readChunkedBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0000)
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield jdk.incubator.http.ResponseContent.chunklen:I
iconst_m1
if_icmpne 6
1: aload 0
aload 0
invokevirtual jdk.incubator.http.ResponseContent.readChunkLen:()I
iconst_2
isub
putfield jdk.incubator.http.ResponseContent.chunklen:I
2: aload 0
aload 0
getfield jdk.incubator.http.ResponseContent.chunklen:I
putfield jdk.incubator.http.ResponseContent.bytesremaining:I
3: aload 0
getfield jdk.incubator.http.ResponseContent.chunklen:I
ifne 6
4: aload 0
iconst_2
invokevirtual jdk.incubator.http.ResponseContent.consumeBytes:(I)V
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.ResponseContent.getHunk:()V
7: aload 0
aload 0
getfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
putfield jdk.incubator.http.ResponseContent.bytesread:I
8: invokestatic jdk.incubator.http.internal.common.Utils.getBuffer:()Ljava/nio/ByteBuffer;
astore 1
start local 1 9: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
start local 2 10: aload 0
getfield jdk.incubator.http.ResponseContent.bytesread:I
aload 0
getfield jdk.incubator.http.ResponseContent.bytesremaining:I
iload 2
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.min:(II)I
istore 3
start local 3 11: aload 0
getfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
aload 1
iload 3
invokestatic jdk.incubator.http.internal.common.Utils.copy:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;I)V
12: aload 1
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
13: aload 0
dup
getfield jdk.incubator.http.ResponseContent.bytesremaining:I
iload 3
isub
putfield jdk.incubator.http.ResponseContent.bytesremaining:I
14: aload 0
getfield jdk.incubator.http.ResponseContent.bytesremaining:I
ifne 17
15: aload 0
iconst_2
invokevirtual jdk.incubator.http.ResponseContent.consumeBytes:(I)V
16: aload 0
iconst_m1
putfield jdk.incubator.http.ResponseContent.chunklen:I
17: StackMap locals: java.nio.ByteBuffer int int
StackMap stack:
aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/incubator/http/ResponseContent;
9 18 1 returnBuffer Ljava/nio/ByteBuffer;
10 18 2 space I
11 18 3 bytes2Copy I
Exceptions:
throws java.io.IOException
private void compactBuffer(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.nio.ByteBuffer.compact:()Ljava/nio/ByteBuffer;
1: invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/http/ResponseContent;
0 3 1 buf Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buf
private java.nio.ByteBuffer copyBuffer(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic jdk.incubator.http.internal.common.Utils.getBuffer:()Ljava/nio/ByteBuffer;
astore 3
start local 3 1: getstatic jdk.incubator.http.ResponseContent.$assertionsDisabled:Z
ifne 2
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
if_icmpge 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.array:()[B
astore 4
start local 4 3: aload 1
aload 4
iconst_0
iload 2
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
4: aload 3
iload 2
invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/ByteBuffer;
pop
5: aload 3
areturn
end local 4 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/ResponseContent;
0 6 1 inbuf Ljava/nio/ByteBuffer;
0 6 2 numBytes I
1 6 3 b1 Ljava/nio/ByteBuffer;
3 6 4 b [B
MethodParameters:
Name Flags
inbuf
numBytes
private void pushBodyChunked(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.incubator.http.ResponseContent.chunkbuf:Ljava/nio/ByteBuffer;
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.incubator.http.ResponseContent.readChunkedBuffer:()Ljava/nio/ByteBuffer;
astore 2
start local 2 2: aload 2
ifnull 6
3: aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 1
4: aload 0
getfield jdk.incubator.http.ResponseContent.dataConsumer:Ljava/util/function/Consumer;
aload 2
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
5: goto 1
6: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
getfield jdk.incubator.http.ResponseContent.onFinished:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
7: aload 0
getfield jdk.incubator.http.ResponseContent.dataConsumer:Ljava/util/function/Consumer;
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/incubator/http/ResponseContent;
0 9 1 b Ljava/nio/ByteBuffer;
2 9 2 b1 Ljava/nio/ByteBuffer;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
private int toDigit(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 48
if_icmplt 2
iload 1
bipush 57
if_icmpgt 2
1: iload 1
bipush 48
isub
ireturn
2: StackMap locals:
StackMap stack:
iload 1
bipush 65
if_icmplt 4
iload 1
bipush 70
if_icmpgt 4
3: iload 1
bipush 65
isub
bipush 10
iadd
ireturn
4: StackMap locals:
StackMap stack:
iload 1
bipush 97
if_icmplt 6
iload 1
bipush 102
if_icmpgt 6
5: iload 1
bipush 97
isub
bipush 10
iadd
ireturn
6: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Invalid chunk header byte "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/incubator/http/ResponseContent;
0 7 1 b I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
private void pushBodyFixed(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.incubator.http.ResponseContent.contentLength:I
istore 2
start local 2 1: goto 8
2: StackMap locals: int
StackMap stack:
invokestatic jdk.incubator.http.internal.common.Utils.getBuffer:()Ljava/nio/ByteBuffer;
astore 3
start local 3 3: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 2
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 4: aload 1
aload 3
iload 4
invokestatic jdk.incubator.http.internal.common.Utils.copy:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;I)V
5: iload 2
iload 4
isub
istore 2
6: aload 3
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
7: aload 0
getfield jdk.incubator.http.ResponseContent.dataConsumer:Ljava/util/function/Consumer;
aload 3
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 4 end local 3 8: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 18
iload 2
ifgt 2
9: goto 18
10: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.ResponseContent.connection:Ljdk/incubator/http/HttpConnection;
invokevirtual jdk.incubator.http.HttpConnection.read:()Ljava/nio/ByteBuffer;
astore 3
start local 3 11: aload 3
ifnonnull 13
12: new java.io.IOException
dup
ldc "connection closed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 4
start local 4 14: iload 4
iload 2
if_icmple 16
15: new java.io.IOException
dup
ldc "too many bytes read"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: int
StackMap stack:
iload 2
iload 4
isub
istore 2
17: aload 0
getfield jdk.incubator.http.ResponseContent.dataConsumer:Ljava/util/function/Consumer;
aload 3
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
end local 4 end local 3 18: StackMap locals:
StackMap stack:
iload 2
ifgt 10
19: aload 0
getfield jdk.incubator.http.ResponseContent.onFinished:Ljava/lang/Runnable;
invokeinterface java.lang.Runnable.run:()V
20: aload 0
getfield jdk.incubator.http.ResponseContent.dataConsumer:Ljava/util/function/Consumer;
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
21: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljdk/incubator/http/ResponseContent;
0 22 1 b Ljava/nio/ByteBuffer;
1 22 2 remaining I
3 8 3 buffer Ljava/nio/ByteBuffer;
4 8 4 amount I
11 18 3 buffer Ljava/nio/ByteBuffer;
14 18 4 bytesread I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
}
SourceFile: "ResponseContent.java"
InnerClasses:
public abstract BodyProcessor = jdk.incubator.http.HttpResponse$BodyProcessor of jdk.incubator.http.HttpResponse