Http2Connection$IntervalPingRunnable.smali

.class final Ldc/squareup/okhttp3/internal/http2/Http2Connection$IntervalPingRunnable;
.super Ldc/squareup/okhttp3/internal/NamedRunnable;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Ldc/squareup/okhttp3/internal/http2/Http2Connection;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x10
    name = "IntervalPingRunnable"
.end annotation


# instance fields
.field final synthetic this$0:Ldc/squareup/okhttp3/internal/http2/Http2Connection;


# direct methods
.method constructor <init>(Ldc/squareup/okhttp3/internal/http2/Http2Connection;)V
    .registers 4

    .line 1
    iput-object p1, p0, Ldc/squareup/okhttp3/internal/http2/Http2Connection$IntervalPingRunnable;->this$0:Ldc/squareup/okhttp3/internal/http2/Http2Connection;

    const/4 v0, 0x1

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

    .line 2
    iget-object p1, p1, Ldc/squareup/okhttp3/internal/http2/Http2Connection;->hostname:Ljava/lang/String;

    const/4 v1, 0x0

    aput-object p1, v0, v1

    const-string p1, "OkHttp %s ping"

    invoke-direct {p0, p1, v0}, Ldc/squareup/okhttp3/internal/NamedRunnable;-><init>(Ljava/lang/String;[Ljava/lang/Object;)V

    return-void
.end method


# virtual methods
.method public execute()V
    .registers 6

    .line 1
    iget-object v0, p0, Ldc/squareup/okhttp3/internal/http2/Http2Connection$IntervalPingRunnable;->this$0:Ldc/squareup/okhttp3/internal/http2/Http2Connection;

    monitor-enter v0

    .line 2
    :try_start_3
    iget-object v1, p0, Ldc/squareup/okhttp3/internal/http2/Http2Connection$IntervalPingRunnable;->this$0:Ldc/squareup/okhttp3/internal/http2/Http2Connection;

    # getter for: Ldc/squareup/okhttp3/internal/http2/Http2Connection;->intervalPongsReceived:J
    invoke-static {v1}, Ldc/squareup/okhttp3/internal/http2/Http2Connection;->access$100(Ldc/squareup/okhttp3/internal/http2/Http2Connection;)J

    move-result-wide v1

    iget-object v3, p0, Ldc/squareup/okhttp3/internal/http2/Http2Connection$IntervalPingRunnable;->this$0:Ldc/squareup/okhttp3/internal/http2/Http2Connection;

    # getter for: Ldc/squareup/okhttp3/internal/http2/Http2Connection;->intervalPingsSent:J
    invoke-static {v3}, Ldc/squareup/okhttp3/internal/http2/Http2Connection;->access$200(Ldc/squareup/okhttp3/internal/http2/Http2Connection;)J

    move-result-wide v3

    cmp-long v1, v1, v3

    const/4 v2, 0x1

    const/4 v3, 0x0

    if-gez v1, :cond_17

    move v1, v2

    goto :goto_1d

    .line 5
    :cond_17
    iget-object v1, p0, Ldc/squareup/okhttp3/internal/http2/Http2Connection$IntervalPingRunnable;->this$0:Ldc/squareup/okhttp3/internal/http2/Http2Connection;

    # operator++ for: Ldc/squareup/okhttp3/internal/http2/Http2Connection;->intervalPingsSent:J
    invoke-static {v1}, Ldc/squareup/okhttp3/internal/http2/Http2Connection;->access$208(Ldc/squareup/okhttp3/internal/http2/Http2Connection;)J

    move v1, v3

    .line 8
    :goto_1d
    monitor-exit v0
    :try_end_1e
    .catchall {:try_start_3 .. :try_end_1e} :catchall_2c

    if-eqz v1, :cond_26

    .line 10
    iget-object v0, p0, Ldc/squareup/okhttp3/internal/http2/Http2Connection$IntervalPingRunnable;->this$0:Ldc/squareup/okhttp3/internal/http2/Http2Connection;

    # invokes: Ldc/squareup/okhttp3/internal/http2/Http2Connection;->failConnection()V
    invoke-static {v0}, Ldc/squareup/okhttp3/internal/http2/Http2Connection;->access$000(Ldc/squareup/okhttp3/internal/http2/Http2Connection;)V

    goto :goto_2b

    .line 12
    :cond_26
    iget-object v0, p0, Ldc/squareup/okhttp3/internal/http2/Http2Connection$IntervalPingRunnable;->this$0:Ldc/squareup/okhttp3/internal/http2/Http2Connection;

    invoke-virtual {v0, v3, v2, v3}, Ldc/squareup/okhttp3/internal/http2/Http2Connection;->writePing(ZII)V

    :goto_2b
    return-void

    :catchall_2c
    move-exception v1

    .line 13
    :try_start_2d
    monitor-exit v0
    :try_end_2e
    .catchall {:try_start_2d .. :try_end_2e} :catchall_2c

    throw v1
.end method