abstract class okhttp3.internal.http1.Http1Codec$AbstractSource implements okio.Source
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: okhttp3.internal.http1.Http1Codec$AbstractSource
  super_class: java.lang.Object
{
  protected final okio.ForwardingTimeout timeout;
    descriptor: Lokio/ForwardingTimeout;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected boolean closed;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

  protected long bytesRead;
    descriptor: J
    flags: (0x0004) ACC_PROTECTED

  final okhttp3.internal.http1.Http1Codec this$0;
    descriptor: Lokhttp3/internal/http1/Http1Codec;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(okhttp3.internal.http1.Http1Codec);
    descriptor: (Lokhttp3/internal/http1/Http1Codec;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // okhttp3.internal.http1.Http1Codec$AbstractSource this
         0: .line 352
            aload 0 /* this */
            aload 1
            putfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 353
            aload 0 /* this */
            new okio.ForwardingTimeout
            dup
            aload 1
            getfield okhttp3.internal.http1.Http1Codec.source:Lokio/BufferedSource;
            invokeinterface okio.BufferedSource.timeout:()Lokio/Timeout;
            invokespecial okio.ForwardingTimeout.<init>:(Lokio/Timeout;)V
            putfield okhttp3.internal.http1.Http1Codec$AbstractSource.timeout:Lokio/ForwardingTimeout;
         2: .line 355
            aload 0 /* this */
            lconst_0
            putfield okhttp3.internal.http1.Http1Codec$AbstractSource.bytesRead:J
         3: .line 352
            return
        end local 0 // okhttp3.internal.http1.Http1Codec$AbstractSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lokhttp3/internal/http1/Http1Codec$AbstractSource;
    MethodParameters:
        Name  Flags
      this$0  final

  public okio.Timeout timeout();
    descriptor: ()Lokio/Timeout;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // okhttp3.internal.http1.Http1Codec$AbstractSource this
         0: .line 358
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.timeout:Lokio/ForwardingTimeout;
            areturn
        end local 0 // okhttp3.internal.http1.Http1Codec$AbstractSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lokhttp3/internal/http1/Http1Codec$AbstractSource;

  public long read(okio.Buffer, long);
    descriptor: (Lokio/Buffer;J)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // okhttp3.internal.http1.Http1Codec$AbstractSource this
        start local 1 // okio.Buffer sink
        start local 2 // long byteCount
         0: .line 363
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            getfield okhttp3.internal.http1.Http1Codec.source:Lokio/BufferedSource;
            aload 1 /* sink */
            lload 2 /* byteCount */
            invokeinterface okio.BufferedSource.read:(Lokio/Buffer;J)J
            lstore 4 /* read */
        start local 4 // long read
         1: .line 364
            lload 4 /* read */
            lconst_0
            lcmp
            ifle 3
         2: .line 365
            aload 0 /* this */
            dup
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.bytesRead:J
            lload 4 /* read */
            ladd
            putfield okhttp3.internal.http1.Http1Codec$AbstractSource.bytesRead:J
         3: .line 367
      StackMap locals: long
      StackMap stack:
            lload 4 /* read */
         4: lreturn
        end local 4 // long read
         5: .line 368
      StackMap locals: okhttp3.internal.http1.Http1Codec$AbstractSource okio.Buffer long
      StackMap stack: java.io.IOException
            astore 4 /* e */
        start local 4 // java.io.IOException e
         6: .line 369
            aload 0 /* this */
            iconst_0
            aload 4 /* e */
            invokevirtual okhttp3.internal.http1.Http1Codec$AbstractSource.endOfInput:(ZLjava/io/IOException;)V
         7: .line 370
            aload 4 /* e */
            athrow
        end local 4 // java.io.IOException e
        end local 2 // long byteCount
        end local 1 // okio.Buffer sink
        end local 0 // okhttp3.internal.http1.Http1Codec$AbstractSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lokhttp3/internal/http1/Http1Codec$AbstractSource;
            0    8     1       sink  Lokio/Buffer;
            0    8     2  byteCount  J
            1    5     4       read  J
            6    8     4          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     4       5  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      sink       
      byteCount  

  protected final void endOfInput(boolean, java.io.IOException);
    descriptor: (ZLjava/io/IOException;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // okhttp3.internal.http1.Http1Codec$AbstractSource this
        start local 1 // boolean reuseConnection
        start local 2 // java.io.IOException e
         0: .line 379
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            getfield okhttp3.internal.http1.Http1Codec.state:I
            bipush 6
            if_icmpne 1
            return
         1: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            getfield okhttp3.internal.http1.Http1Codec.state:I
            iconst_5
            if_icmpeq 2
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "state: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            getfield okhttp3.internal.http1.Http1Codec.state:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.timeout:Lokio/ForwardingTimeout;
            invokevirtual okhttp3.internal.http1.Http1Codec.detachTimeout:(Lokio/ForwardingTimeout;)V
         3: .line 384
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            bipush 6
            putfield okhttp3.internal.http1.Http1Codec.state:I
         4: .line 385
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            getfield okhttp3.internal.http1.Http1Codec.streamAllocation:Lokhttp3/internal/connection/StreamAllocation;
            ifnull 8
         5: .line 386
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            getfield okhttp3.internal.http1.Http1Codec.streamAllocation:Lokhttp3/internal/connection/StreamAllocation;
            iload 1 /* reuseConnection */
            ifeq 6
            iconst_0
            goto 7
      StackMap locals:
      StackMap stack: okhttp3.internal.connection.StreamAllocation
         6: iconst_1
      StackMap locals: okhttp3.internal.http1.Http1Codec$AbstractSource int java.io.IOException
      StackMap stack: okhttp3.internal.connection.StreamAllocation int
         7: aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.this$0:Lokhttp3/internal/http1/Http1Codec;
            aload 0 /* this */
            getfield okhttp3.internal.http1.Http1Codec$AbstractSource.bytesRead:J
            aload 2 /* e */
            invokevirtual okhttp3.internal.connection.StreamAllocation.streamFinished:(ZLokhttp3/internal/http/HttpCodec;JLjava/io/IOException;)V
         8: .line 388
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.io.IOException e
        end local 1 // boolean reuseConnection
        end local 0 // okhttp3.internal.http1.Http1Codec$AbstractSource this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             this  Lokhttp3/internal/http1/Http1Codec$AbstractSource;
            0    9     1  reuseConnection  Z
            0    9     2                e  Ljava/io/IOException;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                 Name  Flags
      reuseConnection  
      e                
}
SourceFile: "Http1Codec.java"
NestHost: okhttp3.internal.http1.Http1Codec
InnerClasses:
  private abstract AbstractSource = okhttp3.internal.http1.Http1Codec$AbstractSource of okhttp3.internal.http1.Http1Codec