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 // okhttp3.internal.http1.Http1Codec$FixedLengthSource this
        start local 2 // long length
         0: .line 395
            aload 0 /* this */
            aload 1
            putfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            aload 0 /* this */
            aload 1
            invokespecial okhttp3.internal.http1.Http1Codec$AbstractSource.<init>:(Lokhttp3/internal/http1/Http1Codec;)V
         1: .line 396
            aload 0 /* this */
            lload 2 /* length */
            putfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
         2: .line 397
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
            lconst_0
            lcmp
            ifne 4
         3: .line 398
            aload 0 /* this */
            iconst_1
            aconst_null
            invokevirtual okhttp3.internal.http1.Http1Codec$FixedLengthSource.endOfInput:(ZLjava/io/IOException;)V
         4: .line 400
      StackMap locals: okhttp3.internal.http1.Http1Codec$FixedLengthSource okhttp3.internal.http1.Http1Codec long
      StackMap stack:
            return
        end local 2 // long length
        end local 0 // okhttp3.internal.http1.Http1Codec$FixedLengthSource this
      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 // okhttp3.internal.http1.Http1Codec$FixedLengthSource this
        start local 1 // okio.Buffer sink
        start local 2 // long byteCount
         0: .line 403
            lload 2 /* byteCount */
            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 /* byteCount */
            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: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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: .line 405
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
            lconst_0
            lcmp
            ifne 3
            ldc -1
            lreturn
         3: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* sink */
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
            lload 2 /* byteCount */
            invokestatic java.lang.Math.min:(JJ)J
            invokespecial okhttp3.internal.http1.Http1Codec$AbstractSource.read:(Lokio/Buffer;J)J
            lstore 4 /* read */
        start local 4 // long read
         4: .line 408
            lload 4 /* read */
            ldc -1
            lcmp
            ifne 8
         5: .line 409
            new java.net.ProtocolException
            dup
            ldc "unexpected end of stream"
            invokespecial java.net.ProtocolException.<init>:(Ljava/lang/String;)V
            astore 6 /* e */
        start local 6 // java.net.ProtocolException e
         6: .line 410
            aload 0 /* this */
            iconst_0
            aload 6 /* e */
            invokevirtual okhttp3.internal.http1.Http1Codec$FixedLengthSource.endOfInput:(ZLjava/io/IOException;)V
         7: .line 411
            aload 6 /* e */
            athrow
        end local 6 // java.net.ProtocolException e
         8: .line 414
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            dup
            getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
            lload 4 /* read */
            lsub
            putfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
         9: .line 415
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
            lconst_0
            lcmp
            ifne 11
        10: .line 416
            aload 0 /* this */
            iconst_1
            aconst_null
            invokevirtual okhttp3.internal.http1.Http1Codec$FixedLengthSource.endOfInput:(ZLjava/io/IOException;)V
        11: .line 418
      StackMap locals:
      StackMap stack:
            lload 4 /* read */
            lreturn
        end local 4 // long read
        end local 2 // long byteCount
        end local 1 // okio.Buffer sink
        end local 0 // okhttp3.internal.http1.Http1Codec$FixedLengthSource this
      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 // okhttp3.internal.http1.Http1Codec$FixedLengthSource this
         0: .line 422
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.closed:Z
            ifeq 1
            return
         1: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.bytesRemaining:J
            lconst_0
            lcmp
            ifeq 3
            aload 0 /* this */
            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: .line 425
            aload 0 /* this */
            iconst_0
            aconst_null
            invokevirtual okhttp3.internal.http1.Http1Codec$FixedLengthSource.endOfInput:(ZLjava/io/IOException;)V
         3: .line 428
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield okhttp3.internal.http1.Http1Codec$FixedLengthSource.closed:Z
         4: .line 429
            return
        end local 0 // okhttp3.internal.http1.Http1Codec$FixedLengthSource this
      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