l.smali

.class final Lokhttp3/internal/http2/l;
.super Lokhttp3/internal/b;
.source "Http2Connection.java"

# interfaces
.implements Lokhttp3/internal/http2/o;


# instance fields
.field final synthetic bXY:Lokhttp3/internal/http2/h;

.field private bYe:Lokhttp3/internal/http2/m;


# direct methods
.method constructor <init>(Lokhttp3/internal/http2/h;Lokhttp3/internal/http2/m;)V
    .registers 7

    .prologue
    .line 598
    iput-object p1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    .line 599
    const-string v0, "OkHttp %s"

    const/4 v1, 0x1

    new-array v1, v1, [Ljava/lang/Object;

    const/4 v2, 0x0

    iget-object v3, p1, Lokhttp3/internal/http2/h;->hostname:Ljava/lang/String;

    aput-object v3, v1, v2

    invoke-direct {p0, v0, v1}, Lokhttp3/internal/b;-><init>(Ljava/lang/String;[Ljava/lang/Object;)V

    .line 600
    iput-object p2, p0, Lokhttp3/internal/http2/l;->bYe:Lokhttp3/internal/http2/m;

    .line 601
    return-void
.end method


# virtual methods
.method public final a(Lokhttp3/internal/http2/x;)V
    .registers 15

    .prologue
    const-wide/16 v4, 0x0

    const/4 v1, 0x0

    .line 701
    .line 702
    const/4 v0, 0x0

    .line 703
    iget-object v7, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    monitor-enter v7

    .line 704
    :try_start_7
    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v2, v2, Lokhttp3/internal/http2/h;->bXU:Lokhttp3/internal/http2/x;

    invoke-virtual {v2}, Lokhttp3/internal/http2/x;->RW()I

    move-result v3

    .line 706
    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v6, v2, Lokhttp3/internal/http2/h;->bXU:Lokhttp3/internal/http2/x;

    move v2, v1

    .line 5122
    :goto_14
    const/16 v8, 0xa

    if-ge v2, v8, :cond_28

    .line 5123
    invoke-virtual {p1, v2}, Lokhttp3/internal/http2/x;->isSet(I)Z

    move-result v8

    if-eqz v8, :cond_25

    .line 6077
    iget-object v8, p1, Lokhttp3/internal/http2/x;->values:[I

    aget v8, v8, v2

    .line 5124
    invoke-virtual {v6, v2, v8}, Lokhttp3/internal/http2/x;->aN(II)Lokhttp3/internal/http2/x;
    :try_end_25
    .catchall {:try_start_7 .. :try_end_25} :catchall_ba

    .line 5122
    :cond_25
    add-int/lit8 v2, v2, 0x1

    goto :goto_14

    .line 6736
    :cond_28
    :try_start_28
    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-static {v2}, Lokhttp3/internal/http2/h;->c(Lokhttp3/internal/http2/h;)Ljava/util/concurrent/ScheduledExecutorService;

    move-result-object v2

    new-instance v6, Lokhttp3/internal/http2/l$3;

    const-string v8, "OkHttp %s ACK Settings"

    const/4 v9, 0x1

    new-array v9, v9, [Ljava/lang/Object;

    const/4 v10, 0x0

    iget-object v11, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v11, v11, Lokhttp3/internal/http2/h;->hostname:Ljava/lang/String;

    aput-object v11, v9, v10

    invoke-direct {v6, p0, v8, v9, p1}, Lokhttp3/internal/http2/l$3;-><init>(Lokhttp3/internal/http2/l;Ljava/lang/String;[Ljava/lang/Object;Lokhttp3/internal/http2/x;)V

    invoke-interface {v2, v6}, Ljava/util/concurrent/ScheduledExecutorService;->execute(Ljava/lang/Runnable;)V
    :try_end_42
    .catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_28 .. :try_end_42} :catch_c1
    .catchall {:try_start_28 .. :try_end_42} :catchall_ba

    .line 708
    :goto_42
    :try_start_42
    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v2, v2, Lokhttp3/internal/http2/h;->bXU:Lokhttp3/internal/http2/x;

    invoke-virtual {v2}, Lokhttp3/internal/http2/x;->RW()I

    move-result v2

    .line 709
    const/4 v6, -0x1

    if-eq v2, v6, :cond_c5

    if-eq v2, v3, :cond_c5

    .line 710
    sub-int/2addr v2, v3

    int-to-long v2, v2

    .line 711
    iget-object v6, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-boolean v6, v6, Lokhttp3/internal/http2/h;->byf:Z

    if-nez v6, :cond_6a

    .line 712
    iget-object v6, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    .line 7319
    iget-wide v8, v6, Lokhttp3/internal/http2/h;->byc:J

    add-long/2addr v8, v2

    iput-wide v8, v6, Lokhttp3/internal/http2/h;->byc:J

    .line 7320
    cmp-long v8, v2, v4

    if-lez v8, :cond_65

    invoke-virtual {v6}, Ljava/lang/Object;->notifyAll()V

    .line 713
    :cond_65
    iget-object v6, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    const/4 v8, 0x1

    iput-boolean v8, v6, Lokhttp3/internal/http2/h;->byf:Z

    .line 715
    :cond_6a
    iget-object v6, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v6, v6, Lokhttp3/internal/http2/h;->bxV:Ljava/util/Map;

    invoke-interface {v6}, Ljava/util/Map;->isEmpty()Z

    move-result v6

    if-nez v6, :cond_c3

    .line 716
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v0, v0, Lokhttp3/internal/http2/h;->bxV:Ljava/util/Map;

    invoke-interface {v0}, Ljava/util/Map;->values()Ljava/util/Collection;

    move-result-object v0

    iget-object v6, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v6, v6, Lokhttp3/internal/http2/h;->bxV:Ljava/util/Map;

    invoke-interface {v6}, Ljava/util/Map;->size()I

    move-result v6

    new-array v6, v6, [Lokhttp3/internal/http2/p;

    invoke-interface {v0, v6}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Lokhttp3/internal/http2/p;

    move-object v6, v0

    .line 719
    :goto_8d
    invoke-static {}, Lokhttp3/internal/http2/h;->RP()Ljava/util/concurrent/ExecutorService;

    move-result-object v0

    new-instance v8, Lokhttp3/internal/http2/l$2;

    const-string v9, "OkHttp %s settings"

    const/4 v10, 0x1

    new-array v10, v10, [Ljava/lang/Object;

    const/4 v11, 0x0

    iget-object v12, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v12, v12, Lokhttp3/internal/http2/h;->hostname:Ljava/lang/String;

    aput-object v12, v10, v11

    invoke-direct {v8, p0, v9, v10}, Lokhttp3/internal/http2/l$2;-><init>(Lokhttp3/internal/http2/l;Ljava/lang/String;[Ljava/lang/Object;)V

    invoke-interface {v0, v8}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V

    .line 724
    monitor-exit v7
    :try_end_a6
    .catchall {:try_start_42 .. :try_end_a6} :catchall_ba

    .line 725
    if-eqz v6, :cond_c0

    cmp-long v0, v2, v4

    if-eqz v0, :cond_c0

    .line 726
    array-length v4, v6

    move v0, v1

    :goto_ae
    if-ge v0, v4, :cond_c0

    aget-object v1, v6, v0

    .line 727
    monitor-enter v1

    .line 728
    :try_start_b3
    invoke-virtual {v1, v2, v3}, Lokhttp3/internal/http2/p;->I(J)V

    .line 729
    monitor-exit v1
    :try_end_b7
    .catchall {:try_start_b3 .. :try_end_b7} :catchall_bd

    .line 726
    add-int/lit8 v0, v0, 0x1

    goto :goto_ae

    .line 724
    :catchall_ba
    move-exception v0

    :try_start_bb
    monitor-exit v7
    :try_end_bc
    .catchall {:try_start_bb .. :try_end_bc} :catchall_ba

    throw v0

    .line 729
    :catchall_bd
    move-exception v0

    :try_start_be
    monitor-exit v1
    :try_end_bf
    .catchall {:try_start_be .. :try_end_bf} :catchall_bd

    throw v0

    .line 732
    :cond_c0
    return-void

    :catch_c1
    move-exception v2

    goto :goto_42

    :cond_c3
    move-object v6, v0

    goto :goto_8d

    :cond_c5
    move-wide v2, v4

    move-object v6, v0

    goto :goto_8d
.end method

.method public final a(ZII)V
    .registers 8

    .prologue
    .line 755
    if-eqz p1, :cond_14

    .line 756
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    monitor-enter v1

    .line 757
    :try_start_5
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-static {v0}, Lokhttp3/internal/http2/h;->d(Lokhttp3/internal/http2/h;)Z

    .line 758
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V

    .line 759
    monitor-exit v1

    .line 768
    :goto_10
    return-void

    .line 759
    :catchall_11
    move-exception v0

    monitor-exit v1
    :try_end_13
    .catchall {:try_start_5 .. :try_end_13} :catchall_11

    throw v0

    .line 763
    :cond_14
    :try_start_14
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-static {v0}, Lokhttp3/internal/http2/h;->c(Lokhttp3/internal/http2/h;)Ljava/util/concurrent/ScheduledExecutorService;

    move-result-object v0

    new-instance v1, Lokhttp3/internal/http2/k;

    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    const/4 v3, 0x1

    invoke-direct {v1, v2, v3, p2, p3}, Lokhttp3/internal/http2/k;-><init>(Lokhttp3/internal/http2/h;ZII)V

    invoke-interface {v0, v1}, Ljava/util/concurrent/ScheduledExecutorService;->execute(Ljava/lang/Runnable;)V
    :try_end_25
    .catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_14 .. :try_end_25} :catch_26

    goto :goto_10

    .line 768
    :catch_26
    move-exception v0

    goto :goto_10
.end method

.method public final a(ZILokio/f;I)V
    .registers 13

    .prologue
    .line 626
    invoke-static {p2}, Lokhttp3/internal/http2/h;->ft(I)Z

    move-result v0

    if-eqz v0, :cond_59

    .line 627
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    .line 1886
    new-instance v5, Lokio/d;

    invoke-direct {v5}, Lokio/d;-><init>()V

    .line 1887
    int-to-long v2, p4

    invoke-interface {p3, v2, v3}, Lokio/f;->Q(J)V

    .line 1888
    int-to-long v2, p4

    invoke-interface {p3, v5, v2, v3}, Lokio/f;->read(Lokio/d;J)J

    .line 2067
    iget-wide v2, v5, Lokio/d;->size:J

    .line 1889
    int-to-long v6, p4

    cmp-long v0, v2, v6

    if-eqz v0, :cond_3b

    new-instance v0, Ljava/io/IOException;

    new-instance v1, Ljava/lang/StringBuilder;

    invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V

    .line 3067
    iget-wide v2, v5, Lokio/d;->size:J

    .line 1889
    invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v1

    const-string v2, " != "

    invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v1

    invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V

    throw v0

    .line 1890
    :cond_3b
    iget-object v7, v1, Lokhttp3/internal/http2/h;->bxZ:Ljava/util/concurrent/ExecutorService;

    new-instance v0, Lokhttp3/internal/http2/h$5;

    const-string v2, "OkHttp %s Push Data[%s]"

    const/4 v3, 0x2

    new-array v3, v3, [Ljava/lang/Object;

    const/4 v4, 0x0

    iget-object v6, v1, Lokhttp3/internal/http2/h;->hostname:Ljava/lang/String;

    aput-object v6, v3, v4

    const/4 v4, 0x1

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v3, v4

    move v4, p2

    move v6, p4

    invoke-direct/range {v0 .. v6}, Lokhttp3/internal/http2/h$5;-><init>(Lokhttp3/internal/http2/h;Ljava/lang/String;[Ljava/lang/Object;ILokio/d;I)V

    invoke-interface {v7, v0}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V

    .line 640
    :cond_58
    :goto_58
    return-void

    .line 630
    :cond_59
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-virtual {v0, p2}, Lokhttp3/internal/http2/h;->fr(I)Lokhttp3/internal/http2/p;

    move-result-object v0

    .line 631
    if-nez v0, :cond_6d

    .line 632
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    sget-object v1, Lokhttp3/internal/http2/ErrorCode;->PROTOCOL_ERROR:Lokhttp3/internal/http2/ErrorCode;

    invoke-virtual {v0, p2, v1}, Lokhttp3/internal/http2/h;->a(ILokhttp3/internal/http2/ErrorCode;)V

    .line 633
    int-to-long v0, p4

    invoke-interface {p3, v0, v1}, Lokio/f;->Y(J)V

    goto :goto_58

    .line 3280
    :cond_6d
    sget-boolean v1, Lokhttp3/internal/http2/p;->$assertionsDisabled:Z

    if-nez v1, :cond_7d

    invoke-static {v0}, Ljava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_7d

    new-instance v0, Ljava/lang/AssertionError;

    invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V

    throw v0

    .line 3281
    :cond_7d
    iget-object v1, v0, Lokhttp3/internal/http2/p;->bYl:Lokhttp3/internal/http2/r;

    int-to-long v2, p4

    invoke-virtual {v1, p3, v2, v3}, Lokhttp3/internal/http2/r;->a(Lokio/f;J)V

    .line 637
    if-eqz p1, :cond_58

    .line 638
    invoke-virtual {v0}, Lokhttp3/internal/http2/p;->Hu()V

    goto :goto_58
.end method

.method public final b(ILokio/ByteString;)V
    .registers 8

    .prologue
    .line 771
    invoke-virtual {p2}, Lokio/ByteString;->size()I

    .line 776
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    monitor-enter v1

    .line 777
    :try_start_6
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v0, v0, Lokhttp3/internal/http2/h;->bxV:Ljava/util/Map;

    invoke-interface {v0}, Ljava/util/Map;->values()Ljava/util/Collection;

    move-result-object v0

    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v2, v2, Lokhttp3/internal/http2/h;->bxV:Ljava/util/Map;

    invoke-interface {v2}, Ljava/util/Map;->size()I

    move-result v2

    new-array v2, v2, [Lokhttp3/internal/http2/p;

    invoke-interface {v0, v2}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;

    move-result-object v0

    check-cast v0, [Lokhttp3/internal/http2/p;

    .line 778
    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    const/4 v3, 0x1

    iput-boolean v3, v2, Lokhttp3/internal/http2/h;->shutdown:Z

    .line 779
    monitor-exit v1
    :try_end_24
    .catchall {:try_start_6 .. :try_end_24} :catchall_43

    .line 782
    array-length v2, v0

    const/4 v1, 0x0

    :goto_26
    if-ge v1, v2, :cond_46

    aget-object v3, v0, v1

    .line 8091
    iget v4, v3, Lokhttp3/internal/http2/p;->id:I

    .line 783
    if-le v4, p1, :cond_40

    invoke-virtual {v3}, Lokhttp3/internal/http2/p;->Hr()Z

    move-result v4

    if-eqz v4, :cond_40

    .line 784
    sget-object v4, Lokhttp3/internal/http2/ErrorCode;->REFUSED_STREAM:Lokhttp3/internal/http2/ErrorCode;

    invoke-virtual {v3, v4}, Lokhttp3/internal/http2/p;->e(Lokhttp3/internal/http2/ErrorCode;)V

    .line 785
    iget-object v4, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    .line 9091
    iget v3, v3, Lokhttp3/internal/http2/p;->id:I

    .line 785
    invoke-virtual {v4, v3}, Lokhttp3/internal/http2/h;->fs(I)Lokhttp3/internal/http2/p;

    .line 782
    :cond_40
    add-int/lit8 v1, v1, 0x1

    goto :goto_26

    .line 779
    :catchall_43
    move-exception v0

    :try_start_44
    monitor-exit v1
    :try_end_45
    .catchall {:try_start_44 .. :try_end_45} :catchall_43

    throw v0

    .line 788
    :cond_46
    return-void
.end method

.method public final b(ZILjava/util/List;)V
    .registers 12
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(ZI",
            "Ljava/util/List",
            "<",
            "Lokhttp3/internal/http2/a;",
            ">;)V"
        }
    .end annotation

    .prologue
    const/4 v0, 0x1

    .line 644
    invoke-static {p2}, Lokhttp3/internal/http2/h;->ft(I)Z

    move-result v1

    if-eqz v1, :cond_25

    .line 645
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    .line 3861
    :try_start_9
    iget-object v1, v0, Lokhttp3/internal/http2/h;->bxZ:Ljava/util/concurrent/ExecutorService;

    new-instance v2, Lokhttp3/internal/http2/h$4;

    const-string v3, "OkHttp %s Push Headers[%s]"

    const/4 v4, 0x2

    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    iget-object v6, v0, Lokhttp3/internal/http2/h;->hostname:Ljava/lang/String;

    aput-object v6, v4, v5

    const/4 v5, 0x1

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v4, v5

    invoke-direct {v2, v0, v3, v4, p2}, Lokhttp3/internal/http2/h$4;-><init>(Lokhttp3/internal/http2/h;Ljava/lang/String;[Ljava/lang/Object;I)V

    invoke-interface {v1, v2}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
    :try_end_24
    .catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_9 .. :try_end_24} :catch_d4

    .line 3877
    :cond_24
    :goto_24
    return-void

    .line 649
    :cond_25
    iget-object v6, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    monitor-enter v6

    .line 650
    :try_start_28
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-virtual {v1, p2}, Lokhttp3/internal/http2/h;->fr(I)Lokhttp3/internal/http2/p;

    move-result-object v1

    .line 652
    if-nez v1, :cond_8a

    .line 654
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-boolean v0, v0, Lokhttp3/internal/http2/h;->shutdown:Z

    if-eqz v0, :cond_3b

    monitor-exit v6

    goto :goto_24

    .line 682
    :catchall_38
    move-exception v0

    monitor-exit v6
    :try_end_3a
    .catchall {:try_start_28 .. :try_end_3a} :catchall_38

    throw v0

    .line 657
    :cond_3b
    :try_start_3b
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget v0, v0, Lokhttp3/internal/http2/h;->bxX:I

    if-gt p2, v0, :cond_43

    monitor-exit v6

    goto :goto_24

    .line 660
    :cond_43
    rem-int/lit8 v0, p2, 0x2

    iget-object v1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget v1, v1, Lokhttp3/internal/http2/h;->bxY:I

    rem-int/lit8 v1, v1, 0x2

    if-ne v0, v1, :cond_4f

    monitor-exit v6

    goto :goto_24

    .line 663
    :cond_4f
    new-instance v0, Lokhttp3/internal/http2/p;

    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    const/4 v3, 0x0

    move v1, p2

    move v4, p1

    move-object v5, p3

    invoke-direct/range {v0 .. v5}, Lokhttp3/internal/http2/p;-><init>(ILokhttp3/internal/http2/h;ZZLjava/util/List;)V

    .line 665
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iput p2, v1, Lokhttp3/internal/http2/h;->bxX:I

    .line 666
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v1, v1, Lokhttp3/internal/http2/h;->bxV:Ljava/util/Map;

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    invoke-interface {v1, v2, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 667
    invoke-static {}, Lokhttp3/internal/http2/h;->RP()Ljava/util/concurrent/ExecutorService;

    move-result-object v1

    new-instance v2, Lokhttp3/internal/http2/l$1;

    const-string v3, "OkHttp %s stream %d"

    const/4 v4, 0x2

    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    iget-object v7, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-object v7, v7, Lokhttp3/internal/http2/h;->hostname:Ljava/lang/String;

    aput-object v7, v4, v5

    const/4 v5, 0x1

    invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v7

    aput-object v7, v4, v5

    invoke-direct {v2, p0, v3, v4, v0}, Lokhttp3/internal/http2/l$1;-><init>(Lokhttp3/internal/http2/l;Ljava/lang/String;[Ljava/lang/Object;Lokhttp3/internal/http2/p;)V

    invoke-interface {v1, v2}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V

    .line 680
    monitor-exit v6

    goto :goto_24

    .line 682
    :cond_8a
    monitor-exit v6
    :try_end_8b
    .catchall {:try_start_3b .. :try_end_8b} :catchall_38

    .line 4258
    sget-boolean v2, Lokhttp3/internal/http2/p;->$assertionsDisabled:Z

    if-nez v2, :cond_9b

    invoke-static {v1}, Ljava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_9b

    new-instance v0, Ljava/lang/AssertionError;

    invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V

    throw v0

    .line 4260
    :cond_9b
    monitor-enter v1

    .line 4261
    const/4 v2, 0x1

    :try_start_9d
    iput-boolean v2, v1, Lokhttp3/internal/http2/p;->bYk:Z

    .line 4262
    iget-object v2, v1, Lokhttp3/internal/http2/p;->byB:Ljava/util/List;

    if-nez v2, :cond_bd

    .line 4263
    iput-object p3, v1, Lokhttp3/internal/http2/p;->byB:Ljava/util/List;

    .line 4264
    invoke-virtual {v1}, Lokhttp3/internal/http2/p;->isOpen()Z

    move-result v0

    .line 4265
    invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V

    .line 4273
    :goto_ac
    monitor-exit v1
    :try_end_ad
    .catchall {:try_start_9d .. :try_end_ad} :catchall_d1

    .line 4274
    if-nez v0, :cond_b6

    .line 4275
    iget-object v0, v1, Lokhttp3/internal/http2/p;->bXL:Lokhttp3/internal/http2/h;

    iget v2, v1, Lokhttp3/internal/http2/p;->id:I

    invoke-virtual {v0, v2}, Lokhttp3/internal/http2/h;->fs(I)Lokhttp3/internal/http2/p;

    .line 686
    :cond_b6
    if-eqz p1, :cond_24

    invoke-virtual {v1}, Lokhttp3/internal/http2/p;->Hu()V

    goto/16 :goto_24

    .line 4267
    :cond_bd
    :try_start_bd
    new-instance v2, Ljava/util/ArrayList;

    invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V

    .line 4268
    iget-object v3, v1, Lokhttp3/internal/http2/p;->byB:Ljava/util/List;

    invoke-interface {v2, v3}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z

    .line 4269
    const/4 v3, 0x0

    invoke-interface {v2, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 4270
    invoke-interface {v2, p3}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z

    .line 4271
    iput-object v2, v1, Lokhttp3/internal/http2/p;->byB:Ljava/util/List;

    goto :goto_ac

    .line 4273
    :catchall_d1
    move-exception v0

    monitor-exit v1
    :try_end_d3
    .catchall {:try_start_bd .. :try_end_d3} :catchall_d1

    throw v0

    .line 646
    :catch_d4
    move-exception v0

    goto/16 :goto_24
.end method

.method public final c(ILokhttp3/internal/http2/ErrorCode;)V
    .registers 10

    .prologue
    .line 690
    invoke-static {p1}, Lokhttp3/internal/http2/h;->ft(I)Z

    move-result v0

    if-eqz v0, :cond_24

    .line 691
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    .line 4907
    iget-object v1, v0, Lokhttp3/internal/http2/h;->bxZ:Ljava/util/concurrent/ExecutorService;

    new-instance v2, Lokhttp3/internal/http2/h$6;

    const-string v3, "OkHttp %s Push Reset[%s]"

    const/4 v4, 0x2

    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    iget-object v6, v0, Lokhttp3/internal/http2/h;->hostname:Ljava/lang/String;

    aput-object v6, v4, v5

    const/4 v5, 0x1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v4, v5

    invoke-direct {v2, v0, v3, v4, p1}, Lokhttp3/internal/http2/h$6;-><init>(Lokhttp3/internal/http2/h;Ljava/lang/String;[Ljava/lang/Object;I)V

    invoke-interface {v1, v2}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V

    .line 698
    :cond_23
    :goto_23
    return-void

    .line 694
    :cond_24
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-virtual {v0, p1}, Lokhttp3/internal/http2/h;->fs(I)Lokhttp3/internal/http2/p;

    move-result-object v0

    .line 695
    if-eqz v0, :cond_23

    .line 696
    invoke-virtual {v0, p2}, Lokhttp3/internal/http2/p;->e(Lokhttp3/internal/http2/ErrorCode;)V

    goto :goto_23
.end method

.method public final ep(I)V
    .registers 9
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I)V"
        }
    .end annotation

    .prologue
    .line 813
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    .line 9831
    monitor-enter v1

    .line 9832
    :try_start_3
    iget-object v0, v1, Lokhttp3/internal/http2/h;->byj:Ljava/util/Set;

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    invoke-interface {v0, v2}, Ljava/util/Set;->contains(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_16

    .line 9833
    sget-object v0, Lokhttp3/internal/http2/ErrorCode;->PROTOCOL_ERROR:Lokhttp3/internal/http2/ErrorCode;

    invoke-virtual {v1, p1, v0}, Lokhttp3/internal/http2/h;->a(ILokhttp3/internal/http2/ErrorCode;)V

    .line 9834
    monitor-exit v1

    .line 9855
    :goto_15
    return-void

    .line 9836
    :cond_16
    iget-object v0, v1, Lokhttp3/internal/http2/h;->byj:Ljava/util/Set;

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v2

    invoke-interface {v0, v2}, Ljava/util/Set;->add(Ljava/lang/Object;)Z

    .line 9837
    monitor-exit v1
    :try_end_20
    .catchall {:try_start_3 .. :try_end_20} :catchall_3e

    .line 9839
    :try_start_20
    iget-object v0, v1, Lokhttp3/internal/http2/h;->bxZ:Ljava/util/concurrent/ExecutorService;

    new-instance v2, Lokhttp3/internal/http2/h$3;

    const-string v3, "OkHttp %s Push Request[%s]"

    const/4 v4, 0x2

    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    iget-object v6, v1, Lokhttp3/internal/http2/h;->hostname:Ljava/lang/String;

    aput-object v6, v4, v5

    const/4 v5, 0x1

    invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;

    move-result-object v6

    aput-object v6, v4, v5

    invoke-direct {v2, v1, v3, v4, p1}, Lokhttp3/internal/http2/h$3;-><init>(Lokhttp3/internal/http2/h;Ljava/lang/String;[Ljava/lang/Object;I)V

    invoke-interface {v0, v2}, Ljava/util/concurrent/ExecutorService;->execute(Ljava/lang/Runnable;)V
    :try_end_3b
    .catch Ljava/util/concurrent/RejectedExecutionException; {:try_start_20 .. :try_end_3b} :catch_3c

    goto :goto_15

    .line 814
    :catch_3c
    move-exception v0

    goto :goto_15

    .line 9837
    :catchall_3e
    move-exception v0

    :try_start_3f
    monitor-exit v1
    :try_end_40
    .catchall {:try_start_3f .. :try_end_40} :catchall_3e

    throw v0
.end method

.method protected final execute()V
    .registers 10

    .prologue
    .line 604
    sget-object v0, Lokhttp3/internal/http2/ErrorCode;->INTERNAL_ERROR:Lokhttp3/internal/http2/ErrorCode;

    .line 605
    sget-object v2, Lokhttp3/internal/http2/ErrorCode;->INTERNAL_ERROR:Lokhttp3/internal/http2/ErrorCode;

    .line 607
    :try_start_4
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bYe:Lokhttp3/internal/http2/m;

    .line 1078
    iget-boolean v3, v1, Lokhttp3/internal/http2/m;->bxT:Z

    if-eqz v3, :cond_2b

    .line 1080
    const/4 v3, 0x1

    invoke-virtual {v1, v3, p0}, Lokhttp3/internal/http2/m;->a(ZLokhttp3/internal/http2/o;)Z

    move-result v1

    if-nez v1, :cond_7f

    .line 1081
    const-string v1, "Required SETTINGS preface not received"

    const/4 v3, 0x0

    new-array v3, v3, [Ljava/lang/Object;

    invoke-static {v1, v3}, Lokhttp3/internal/http2/e;->a(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;

    move-result-object v1

    throw v1
    :try_end_1b
    .catch Ljava/io/IOException; {:try_start_4 .. :try_end_1b} :catch_1b
    .catchall {:try_start_4 .. :try_end_1b} :catchall_70

    .line 613
    :catch_1b
    move-exception v1

    :try_start_1c
    sget-object v1, Lokhttp3/internal/http2/ErrorCode;->PROTOCOL_ERROR:Lokhttp3/internal/http2/ErrorCode;
    :try_end_1e
    .catchall {:try_start_1c .. :try_end_1e} :catchall_70

    .line 614
    :try_start_1e
    sget-object v0, Lokhttp3/internal/http2/ErrorCode;->PROTOCOL_ERROR:Lokhttp3/internal/http2/ErrorCode;
    :try_end_20
    .catchall {:try_start_1e .. :try_end_20} :catchall_99

    .line 617
    :try_start_20
    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-virtual {v2, v1, v0}, Lokhttp3/internal/http2/h;->a(Lokhttp3/internal/http2/ErrorCode;Lokhttp3/internal/http2/ErrorCode;)V
    :try_end_25
    .catch Ljava/io/IOException; {:try_start_20 .. :try_end_25} :catch_9b

    .line 620
    :goto_25
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bYe:Lokhttp3/internal/http2/m;

    invoke-static {v0}, Lokhttp3/internal/c;->closeQuietly(Ljava/io/Closeable;)V

    .line 621
    :goto_2a
    return-void

    .line 1085
    :cond_2b
    :try_start_2b
    iget-object v1, v1, Lokhttp3/internal/http2/m;->byt:Lokio/f;

    sget-object v3, Lokhttp3/internal/http2/e;->bzi:Lokio/ByteString;

    invoke-virtual {v3}, Lokio/ByteString;->size()I

    move-result v3

    int-to-long v4, v3

    invoke-interface {v1, v4, v5}, Lokio/f;->T(J)Lokio/ByteString;

    move-result-object v1

    .line 1086
    sget-object v3, Lokhttp3/internal/http2/m;->logger:Ljava/util/logging/Logger;

    sget-object v4, Ljava/util/logging/Level;->FINE:Ljava/util/logging/Level;

    invoke-virtual {v3, v4}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z

    move-result v3

    if-eqz v3, :cond_57

    sget-object v3, Lokhttp3/internal/http2/m;->logger:Ljava/util/logging/Logger;

    const-string v4, "<< CONNECTION %s"

    const/4 v5, 0x1

    new-array v5, v5, [Ljava/lang/Object;

    const/4 v6, 0x0

    invoke-virtual {v1}, Lokio/ByteString;->hex()Ljava/lang/String;

    move-result-object v7

    aput-object v7, v5, v6

    invoke-static {v4, v5}, Lokhttp3/internal/c;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V

    .line 1087
    :cond_57
    sget-object v3, Lokhttp3/internal/http2/e;->bzi:Lokio/ByteString;

    invoke-virtual {v3, v1}, Lokio/ByteString;->equals(Ljava/lang/Object;)Z

    move-result v3

    if-nez v3, :cond_7f

    .line 1088
    const-string v3, "Expected a connection header but was %s"

    const/4 v4, 0x1

    new-array v4, v4, [Ljava/lang/Object;

    const/4 v5, 0x0

    invoke-virtual {v1}, Lokio/ByteString;->utf8()Ljava/lang/String;

    move-result-object v1

    aput-object v1, v4, v5

    invoke-static {v3, v4}, Lokhttp3/internal/http2/e;->a(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/IOException;

    move-result-object v1

    throw v1
    :try_end_70
    .catch Ljava/io/IOException; {:try_start_2b .. :try_end_70} :catch_1b
    .catchall {:try_start_2b .. :try_end_70} :catchall_70

    .line 616
    :catchall_70
    move-exception v1

    move-object v8, v1

    move-object v1, v0

    move-object v0, v8

    .line 617
    :goto_74
    :try_start_74
    iget-object v3, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-virtual {v3, v1, v2}, Lokhttp3/internal/http2/h;->a(Lokhttp3/internal/http2/ErrorCode;Lokhttp3/internal/http2/ErrorCode;)V
    :try_end_79
    .catch Ljava/io/IOException; {:try_start_74 .. :try_end_79} :catch_97

    .line 620
    :goto_79
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bYe:Lokhttp3/internal/http2/m;

    invoke-static {v1}, Lokhttp3/internal/c;->closeQuietly(Ljava/io/Closeable;)V

    throw v0

    .line 608
    :cond_7f
    :try_start_7f
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bYe:Lokhttp3/internal/http2/m;

    const/4 v3, 0x0

    invoke-virtual {v1, v3, p0}, Lokhttp3/internal/http2/m;->a(ZLokhttp3/internal/http2/o;)Z

    move-result v1

    if-nez v1, :cond_7f

    .line 610
    sget-object v0, Lokhttp3/internal/http2/ErrorCode;->NO_ERROR:Lokhttp3/internal/http2/ErrorCode;

    .line 611
    sget-object v1, Lokhttp3/internal/http2/ErrorCode;->CANCEL:Lokhttp3/internal/http2/ErrorCode;
    :try_end_8c
    .catch Ljava/io/IOException; {:try_start_7f .. :try_end_8c} :catch_1b
    .catchall {:try_start_7f .. :try_end_8c} :catchall_70

    .line 617
    :try_start_8c
    iget-object v2, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-virtual {v2, v0, v1}, Lokhttp3/internal/http2/h;->a(Lokhttp3/internal/http2/ErrorCode;Lokhttp3/internal/http2/ErrorCode;)V
    :try_end_91
    .catch Ljava/io/IOException; {:try_start_8c .. :try_end_91} :catch_9d

    .line 620
    :goto_91
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bYe:Lokhttp3/internal/http2/m;

    invoke-static {v0}, Lokhttp3/internal/c;->closeQuietly(Ljava/io/Closeable;)V

    goto :goto_2a

    :catch_97
    move-exception v1

    goto :goto_79

    .line 616
    :catchall_99
    move-exception v0

    goto :goto_74

    :catch_9b
    move-exception v0

    goto :goto_25

    :catch_9d
    move-exception v0

    goto :goto_91
.end method

.method public final f(IJ)V
    .registers 8

    .prologue
    .line 791
    if-nez p1, :cond_16

    .line 792
    iget-object v1, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    monitor-enter v1

    .line 793
    :try_start_5
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    iget-wide v2, v0, Lokhttp3/internal/http2/h;->byc:J

    add-long/2addr v2, p2

    iput-wide v2, v0, Lokhttp3/internal/http2/h;->byc:J

    .line 794
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V

    .line 795
    monitor-exit v1

    .line 804
    :cond_12
    :goto_12
    return-void

    .line 795
    :catchall_13
    move-exception v0

    monitor-exit v1
    :try_end_15
    .catchall {:try_start_5 .. :try_end_15} :catchall_13

    throw v0

    .line 797
    :cond_16
    iget-object v0, p0, Lokhttp3/internal/http2/l;->bXY:Lokhttp3/internal/http2/h;

    invoke-virtual {v0, p1}, Lokhttp3/internal/http2/h;->fr(I)Lokhttp3/internal/http2/p;

    move-result-object v1

    .line 798
    if-eqz v1, :cond_12

    .line 799
    monitor-enter v1

    .line 800
    :try_start_1f
    invoke-virtual {v1, p2, p3}, Lokhttp3/internal/http2/p;->I(J)V

    .line 801
    monitor-exit v1

    goto :goto_12

    :catchall_24
    move-exception v0

    monitor-exit v1
    :try_end_26
    .catchall {:try_start_1f .. :try_end_26} :catchall_24

    throw v0
.end method