q.smali

.class final Lokhttp3/internal/http2/q;
.super Ljava/lang/Object;
.source "Http2Stream.java"

# interfaces
.implements Lokio/r;


# static fields
.field private static synthetic $assertionsDisabled:Z


# instance fields
.field private synthetic bYp:Lokhttp3/internal/http2/p;

.field private final byH:Lokio/d;

.field byI:Z

.field closed:Z


# direct methods
.method static constructor <clinit>()V
    .registers 1

    .prologue
    .line 461
    const-class v0, Lokhttp3/internal/http2/p;

    invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z

    move-result v0

    if-nez v0, :cond_c

    const/4 v0, 0x1

    :goto_9
    sput-boolean v0, Lokhttp3/internal/http2/q;->$assertionsDisabled:Z

    return-void

    :cond_c
    const/4 v0, 0x0

    goto :goto_9
.end method

.method constructor <init>(Lokhttp3/internal/http2/p;)V
    .registers 3

    .prologue
    .line 461
    iput-object p1, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    .line 468
    new-instance v0, Lokio/d;

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

    iput-object v0, p0, Lokhttp3/internal/http2/q;->byH:Lokio/d;

    return-void
.end method

.method private bn(Z)V
    .registers 8

    .prologue
    .line 491
    iget-object v1, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    monitor-enter v1

    .line 492
    :try_start_3
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bYo:Lokhttp3/internal/http2/s;

    invoke-virtual {v0}, Lokhttp3/internal/http2/s;->enter()V
    :try_end_a
    .catchall {:try_start_3 .. :try_end_a} :catchall_31

    .line 494
    :goto_a
    :try_start_a
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    const-wide/16 v4, 0x0

    cmp-long v0, v2, v4

    if-gtz v0, :cond_34

    iget-boolean v0, p0, Lokhttp3/internal/http2/q;->byI:Z

    if-nez v0, :cond_34

    iget-boolean v0, p0, Lokhttp3/internal/http2/q;->closed:Z

    if-nez v0, :cond_34

    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->errorCode:Lokhttp3/internal/http2/ErrorCode;

    if-nez v0, :cond_34

    .line 495
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    invoke-virtual {v0}, Lokhttp3/internal/http2/p;->Hv()V
    :try_end_27
    .catchall {:try_start_a .. :try_end_27} :catchall_28

    goto :goto_a

    .line 498
    :catchall_28
    move-exception v0

    :try_start_29
    iget-object v2, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v2, v2, Lokhttp3/internal/http2/p;->bYo:Lokhttp3/internal/http2/s;

    invoke-virtual {v2}, Lokhttp3/internal/http2/s;->Hy()V

    throw v0

    .line 504
    :catchall_31
    move-exception v0

    monitor-exit v1
    :try_end_33
    .catchall {:try_start_29 .. :try_end_33} :catchall_31

    throw v0

    .line 498
    :cond_34
    :try_start_34
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bYo:Lokhttp3/internal/http2/s;

    invoke-virtual {v0}, Lokhttp3/internal/http2/s;->Hy()V

    .line 501
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    .line 502
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    iget-object v0, p0, Lokhttp3/internal/http2/q;->byH:Lokio/d;

    .line 2067
    iget-wide v4, v0, Lokio/d;->size:J

    .line 502
    invoke-static {v2, v3, v4, v5}, Ljava/lang/Math;->min(JJ)J

    move-result-wide v4

    .line 503
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    sub-long/2addr v2, v4

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

    .line 504
    monitor-exit v1
    :try_end_54
    .catchall {:try_start_34 .. :try_end_54} :catchall_31

    .line 506
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bYo:Lokhttp3/internal/http2/s;

    invoke-virtual {v0}, Lokhttp3/internal/http2/s;->enter()V

    .line 508
    :try_start_5b
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bXL:Lokhttp3/internal/http2/h;

    iget-object v1, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    if-eqz p1, :cond_7b

    iget-object v2, p0, Lokhttp3/internal/http2/q;->byH:Lokio/d;

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

    .line 508
    cmp-long v2, v4, v2

    if-nez v2, :cond_7b

    const/4 v2, 0x1

    :goto_6e
    iget-object v3, p0, Lokhttp3/internal/http2/q;->byH:Lokio/d;

    invoke-virtual/range {v0 .. v5}, Lokhttp3/internal/http2/h;->a(IZLokio/d;J)V
    :try_end_73
    .catchall {:try_start_5b .. :try_end_73} :catchall_7d

    .line 510
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bYo:Lokhttp3/internal/http2/s;

    invoke-virtual {v0}, Lokhttp3/internal/http2/s;->Hy()V

    .line 511
    return-void

    .line 508
    :cond_7b
    const/4 v2, 0x0

    goto :goto_6e

    .line 510
    :catchall_7d
    move-exception v0

    iget-object v1, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v1, v1, Lokhttp3/internal/http2/p;->bYo:Lokhttp3/internal/http2/s;

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

    throw v0
.end method


# virtual methods
.method public final a(Lokio/d;J)V
    .registers 8

    .prologue
    .line 478
    sget-boolean v0, Lokhttp3/internal/http2/q;->$assertionsDisabled:Z

    if-nez v0, :cond_12

    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    move-result v0

    if-eqz v0, :cond_12

    new-instance v0, Ljava/lang/AssertionError;

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

    throw v0

    .line 479
    :cond_12
    iget-object v0, p0, Lokhttp3/internal/http2/q;->byH:Lokio/d;

    invoke-virtual {v0, p1, p2, p3}, Lokio/d;->a(Lokio/d;J)V

    .line 480
    :goto_17
    iget-object v0, p0, Lokhttp3/internal/http2/q;->byH:Lokio/d;

    .line 1067
    iget-wide v0, v0, Lokio/d;->size:J

    .line 480
    const-wide/16 v2, 0x4000

    cmp-long v0, v0, v2

    if-ltz v0, :cond_26

    .line 481
    const/4 v0, 0x0

    invoke-direct {p0, v0}, Lokhttp3/internal/http2/q;->bn(Z)V

    goto :goto_17

    .line 483
    :cond_26
    return-void
.end method

.method public final close()V
    .registers 7

    .prologue
    const-wide/16 v4, 0x0

    const/4 v2, 0x1

    .line 530
    sget-boolean v0, Lokhttp3/internal/http2/q;->$assertionsDisabled:Z

    if-nez v0, :cond_15

    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    move-result v0

    if-eqz v0, :cond_15

    new-instance v0, Ljava/lang/AssertionError;

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

    throw v0

    .line 531
    :cond_15
    iget-object v1, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    monitor-enter v1

    .line 532
    :try_start_18
    iget-boolean v0, p0, Lokhttp3/internal/http2/q;->closed:Z

    if-eqz v0, :cond_1e

    monitor-exit v1

    .line 550
    :goto_1d
    return-void

    .line 533
    :cond_1e
    monitor-exit v1
    :try_end_1f
    .catchall {:try_start_18 .. :try_end_1f} :catchall_3b

    .line 534
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bYm:Lokhttp3/internal/http2/q;

    iget-boolean v0, v0, Lokhttp3/internal/http2/q;->byI:Z

    if-nez v0, :cond_4a

    .line 536
    iget-object v0, p0, Lokhttp3/internal/http2/q;->byH:Lokio/d;

    .line 5067
    iget-wide v0, v0, Lokio/d;->size:J

    .line 536
    cmp-long v0, v0, v4

    if-lez v0, :cond_3e

    .line 537
    :goto_2f
    iget-object v0, p0, Lokhttp3/internal/http2/q;->byH:Lokio/d;

    .line 6067
    iget-wide v0, v0, Lokio/d;->size:J

    .line 537
    cmp-long v0, v0, v4

    if-lez v0, :cond_4a

    .line 538
    invoke-direct {p0, v2}, Lokhttp3/internal/http2/q;->bn(Z)V

    goto :goto_2f

    .line 533
    :catchall_3b
    move-exception v0

    :try_start_3c
    monitor-exit v1
    :try_end_3d
    .catchall {:try_start_3c .. :try_end_3d} :catchall_3b

    throw v0

    .line 542
    :cond_3e
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bXL:Lokhttp3/internal/http2/h;

    iget-object v1, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    const/4 v3, 0x0

    invoke-virtual/range {v0 .. v5}, Lokhttp3/internal/http2/h;->a(IZLokio/d;J)V

    .line 545
    :cond_4a
    iget-object v1, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    monitor-enter v1

    .line 546
    const/4 v0, 0x1

    :try_start_4e
    iput-boolean v0, p0, Lokhttp3/internal/http2/q;->closed:Z

    .line 547
    monitor-exit v1
    :try_end_51
    .catchall {:try_start_4e .. :try_end_51} :catchall_60

    .line 548
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bXL:Lokhttp3/internal/http2/h;

    .line 6411
    iget-object v0, v0, Lokhttp3/internal/http2/h;->bXV:Lokhttp3/internal/http2/t;

    invoke-virtual {v0}, Lokhttp3/internal/http2/t;->flush()V

    .line 549
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    goto :goto_1d

    .line 547
    :catchall_60
    move-exception v0

    :try_start_61
    monitor-exit v1
    :try_end_62
    .catchall {:try_start_61 .. :try_end_62} :catchall_60

    throw v0
.end method

.method public final flush()V
    .registers 5

    .prologue
    .line 515
    sget-boolean v0, Lokhttp3/internal/http2/q;->$assertionsDisabled:Z

    if-nez v0, :cond_12

    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    move-result v0

    if-eqz v0, :cond_12

    new-instance v0, Ljava/lang/AssertionError;

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

    throw v0

    .line 516
    :cond_12
    iget-object v1, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    monitor-enter v1

    .line 517
    :try_start_15
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

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

    .line 518
    monitor-exit v1
    :try_end_1b
    .catchall {:try_start_15 .. :try_end_1b} :catchall_33

    .line 519
    :goto_1b
    iget-object v0, p0, Lokhttp3/internal/http2/q;->byH:Lokio/d;

    .line 4067
    iget-wide v0, v0, Lokio/d;->size:J

    .line 519
    const-wide/16 v2, 0x0

    cmp-long v0, v0, v2

    if-lez v0, :cond_36

    .line 520
    const/4 v0, 0x0

    invoke-direct {p0, v0}, Lokhttp3/internal/http2/q;->bn(Z)V

    .line 521
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bXL:Lokhttp3/internal/http2/h;

    .line 4411
    iget-object v0, v0, Lokhttp3/internal/http2/h;->bXV:Lokhttp3/internal/http2/t;

    invoke-virtual {v0}, Lokhttp3/internal/http2/t;->flush()V

    goto :goto_1b

    .line 518
    :catchall_33
    move-exception v0

    :try_start_34
    monitor-exit v1
    :try_end_35
    .catchall {:try_start_34 .. :try_end_35} :catchall_33

    throw v0

    .line 523
    :cond_36
    return-void
.end method

.method public final timeout()Lokio/t;
    .registers 2

    .prologue
    .line 526
    iget-object v0, p0, Lokhttp3/internal/http2/q;->bYp:Lokhttp3/internal/http2/p;

    iget-object v0, v0, Lokhttp3/internal/http2/p;->bYo:Lokhttp3/internal/http2/s;

    return-object v0
.end method