class okhttp3.internal.http1.Http1Codec$FixedLengthSource extends okhttp3.internal.http1.Http1Codec$AbstractSource
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: okhttp3.internal.http1.Http1Codec$FixedLengthSource
super_class: okhttp3.internal.http1.Http1Codec$AbstractSource
{
private long bytesRemaining;
descriptor: J
flags: (0x0002) ACC_PRIVATE
final okhttp3.internal.http1.Http1Codec this$0;
descriptor: Lokhttp3/internal/http1/Http1Codec;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(okhttp3.internal.http1.Http1Codec, long);
descriptor: (Lokhttp3/internal/http1/Http1Codec;J)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.this$0:Lokhttp3/internal/http1/Http1Codec;
aload 0
aload 1
invokespecial okhttp3.internal.http1.Http1Codec$AbstractSource.<init>:(Lokhttp3/internal/http1/Http1Codec;)V
1: aload 0
lload 2
putfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
2: aload 0
getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
lconst_0
lcmp
ifne 4
3: aload 0
iconst_1
aconst_null
invokevirtual okhttp3.internal.http1.Http1Codec$FixedLengthSource.endOfInput:(ZLjava/io/IOException;)V
4: StackMap locals: okhttp3.internal.http1.Http1Codec$FixedLengthSource okhttp3.internal.http1.Http1Codec long
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/http1/Http1Codec$FixedLengthSource;
0 5 2 length J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
this$0 final
length
public long read(okio.Buffer, long);
descriptor: (Lokio/Buffer;J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 1 start local 2 0: lload 2
lconst_0
lcmp
ifge 1
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "byteCount < 0: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.closed:Z
ifeq 2
new java.lang.IllegalStateException
dup
ldc "closed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
lconst_0
lcmp
ifne 3
ldc -1
lreturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
lload 2
invokestatic java.lang.Math.min:(JJ)J
invokespecial okhttp3.internal.http1.Http1Codec$AbstractSource.read:(Lokio/Buffer;J)J
lstore 4
start local 4 4: lload 4
ldc -1
lcmp
ifne 8
5: new java.net.ProtocolException
dup
ldc "unexpected end of stream"
invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
astore 6
start local 6 6: aload 0
iconst_0
aload 6
invokevirtual okhttp3.internal.http1.Http1Codec$FixedLengthSource.endOfInput:(ZLjava/io/IOException;)V
7: aload 6
athrow
end local 6 8: StackMap locals: long
StackMap stack:
aload 0
dup
getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
lload 4
lsub
putfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
9: aload 0
getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
lconst_0
lcmp
ifne 11
10: aload 0
iconst_1
aconst_null
invokevirtual okhttp3.internal.http1.Http1Codec$FixedLengthSource.endOfInput:(ZLjava/io/IOException;)V
11: StackMap locals:
StackMap stack:
lload 4
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lokhttp3/internal/http1/Http1Codec$FixedLengthSource;
0 12 1 sink Lokio/Buffer;
0 12 2 byteCount J
4 12 4 read J
6 8 6 e Ljava/net/ProtocolException;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
sink
byteCount
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.closed:Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 0
getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
lconst_0
lcmp
ifeq 3
aload 0
bipush 100
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic okhttp3.internal.Util.discard:(Lokio/Source;ILjava/util/concurrent/TimeUnit;)Z
ifne 3
2: aload 0
iconst_0
aconst_null
invokevirtual okhttp3.internal.http1.Http1Codec$FixedLengthSource.endOfInput:(ZLjava/io/IOException;)V
3: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.closed:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lokhttp3/internal/http1/Http1Codec$FixedLengthSource;
Exceptions:
throws java.io.IOException
}
SourceFile: "Http1Codec.java"
NestHost: okhttp3.internal.http1.Http1Codec
InnerClasses:
private abstract AbstractSource = okhttp3.internal.http1.Http1Codec$AbstractSource of okhttp3.internal.http1.Http1Codec
private FixedLengthSource = okhttp3.internal.http1.Http1Codec$FixedLengthSource of okhttp3.internal.http1.Http1Codec