AsyncFrameWriter.smali

.class Lio/grpc/okhttp/AsyncFrameWriter;
.super Ljava/lang/Object;
.source "AsyncFrameWriter.java"

# interfaces
.implements Lio/grpc/okhttp/internal/framed/FrameWriter;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lio/grpc/okhttp/AsyncFrameWriter$WriteRunnable;
    }
.end annotation


# static fields
.field private static final log:Ljava/util/logging/Logger;


# instance fields
.field private final executor:Lio/grpc/internal/SerializingExecutor;

.field private frameWriter:Lio/grpc/okhttp/internal/framed/FrameWriter;

.field private socket:Ljava/net/Socket;

.field private final transport:Lio/grpc/okhttp/OkHttpClientTransport;


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

    .line 1
    const-class v0, Lio/grpc/okhttp/OkHttpClientTransport;

    invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;

    move-result-object v0

    sput-object v0, Lio/grpc/okhttp/AsyncFrameWriter;->log:Ljava/util/logging/Logger;

    return-void
.end method

.method public constructor <init>(Lio/grpc/okhttp/OkHttpClientTransport;Lio/grpc/internal/SerializingExecutor;)V
    .registers 3

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

    .line 2
    iput-object p1, p0, Lio/grpc/okhttp/AsyncFrameWriter;->transport:Lio/grpc/okhttp/OkHttpClientTransport;

    .line 3
    iput-object p2, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    return-void
.end method

.method static synthetic access$100(Lio/grpc/okhttp/AsyncFrameWriter;)Lio/grpc/okhttp/internal/framed/FrameWriter;
    .registers 1

    .line 1
    iget-object p0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->frameWriter:Lio/grpc/okhttp/internal/framed/FrameWriter;

    return-object p0
.end method

.method static synthetic access$200(Lio/grpc/okhttp/AsyncFrameWriter;)Ljava/net/Socket;
    .registers 1

    .line 1
    iget-object p0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->socket:Ljava/net/Socket;

    return-object p0
.end method

.method static synthetic access$300()Ljava/util/logging/Logger;
    .registers 1

    .line 1
    sget-object v0, Lio/grpc/okhttp/AsyncFrameWriter;->log:Ljava/util/logging/Logger;

    return-object v0
.end method

.method static synthetic access$400(Lio/grpc/okhttp/AsyncFrameWriter;)Lio/grpc/okhttp/OkHttpClientTransport;
    .registers 1

    .line 1
    iget-object p0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->transport:Lio/grpc/okhttp/OkHttpClientTransport;

    return-object p0
.end method


# virtual methods
.method public ackSettings(Lio/grpc/okhttp/internal/framed/Settings;)V
    .registers 4

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$2;

    invoke-direct {v1, p0, p1}, Lio/grpc/okhttp/AsyncFrameWriter$2;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;Lio/grpc/okhttp/internal/framed/Settings;)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method becomeConnected(Lio/grpc/okhttp/internal/framed/FrameWriter;Ljava/net/Socket;)V
    .registers 5

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->frameWriter:Lio/grpc/okhttp/internal/framed/FrameWriter;

    if-nez v0, :cond_6

    const/4 v0, 0x1

    goto :goto_7

    :cond_6
    const/4 v0, 0x0

    :goto_7
    const-string v1, "AsyncFrameWriter\'s setFrameWriter() should only be called once."

    invoke-static {v0, v1}, Lcom/google/common/base/r;->b(ZLjava/lang/Object;)V

    .line 2
    invoke-static {p1}, Lcom/google/common/base/r;->a(Ljava/lang/Object;)Ljava/lang/Object;

    check-cast p1, Lio/grpc/okhttp/internal/framed/FrameWriter;

    iput-object p1, p0, Lio/grpc/okhttp/AsyncFrameWriter;->frameWriter:Lio/grpc/okhttp/internal/framed/FrameWriter;

    .line 3
    invoke-static {p2}, Lcom/google/common/base/r;->a(Ljava/lang/Object;)Ljava/lang/Object;

    check-cast p2, Ljava/net/Socket;

    iput-object p2, p0, Lio/grpc/okhttp/AsyncFrameWriter;->socket:Ljava/net/Socket;

    return-void
.end method

.method public close()V
    .registers 3

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$14;

    invoke-direct {v1, p0}, Lio/grpc/okhttp/AsyncFrameWriter$14;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public connectionPreface()V
    .registers 3

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$1;

    invoke-direct {v1, p0}, Lio/grpc/okhttp/AsyncFrameWriter$1;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public data(ZILokio/Buffer;I)V
    .registers 13

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v7, Lio/grpc/okhttp/AsyncFrameWriter$9;

    move-object v1, v7

    move-object v2, p0

    move v3, p1

    move v4, p2

    move-object v5, p3

    move v6, p4

    invoke-direct/range {v1 .. v6}, Lio/grpc/okhttp/AsyncFrameWriter$9;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;ZILokio/Buffer;I)V

    invoke-virtual {v0, v7}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public flush()V
    .registers 3

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$4;

    invoke-direct {v1, p0}, Lio/grpc/okhttp/AsyncFrameWriter$4;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public goAway(ILio/grpc/okhttp/internal/framed/ErrorCode;[B)V
    .registers 6

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$12;

    invoke-direct {v1, p0, p1, p2, p3}, Lio/grpc/okhttp/AsyncFrameWriter$12;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;ILio/grpc/okhttp/internal/framed/ErrorCode;[B)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public headers(ILjava/util/List;)V
    .registers 5
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(I",
            "Ljava/util/List<",
            "Lio/grpc/okhttp/internal/framed/Header;",
            ">;)V"
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$7;

    invoke-direct {v1, p0, p1, p2}, Lio/grpc/okhttp/AsyncFrameWriter$7;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;ILjava/util/List;)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public maxDataLength()I
    .registers 2

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->frameWriter:Lio/grpc/okhttp/internal/framed/FrameWriter;

    if-nez v0, :cond_7

    const/16 v0, 0x4000

    goto :goto_b

    .line 2
    :cond_7
    invoke-interface {v0}, Lio/grpc/okhttp/internal/framed/FrameWriter;->maxDataLength()I

    move-result v0

    :goto_b
    return v0
.end method

.method public ping(ZII)V
    .registers 6

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$11;

    invoke-direct {v1, p0, p1, p2, p3}, Lio/grpc/okhttp/AsyncFrameWriter$11;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;ZII)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public pushPromise(IILjava/util/List;)V
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(II",
            "Ljava/util/List<",
            "Lio/grpc/okhttp/internal/framed/Header;",
            ">;)V"
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$3;

    invoke-direct {v1, p0, p1, p2, p3}, Lio/grpc/okhttp/AsyncFrameWriter$3;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;IILjava/util/List;)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public rstStream(ILio/grpc/okhttp/internal/framed/ErrorCode;)V
    .registers 5

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$8;

    invoke-direct {v1, p0, p1, p2}, Lio/grpc/okhttp/AsyncFrameWriter$8;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;ILio/grpc/okhttp/internal/framed/ErrorCode;)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public settings(Lio/grpc/okhttp/internal/framed/Settings;)V
    .registers 4

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$10;

    invoke-direct {v1, p0, p1}, Lio/grpc/okhttp/AsyncFrameWriter$10;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;Lio/grpc/okhttp/internal/framed/Settings;)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public synReply(ZILjava/util/List;)V
    .registers 6
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(ZI",
            "Ljava/util/List<",
            "Lio/grpc/okhttp/internal/framed/Header;",
            ">;)V"
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$6;

    invoke-direct {v1, p0, p1, p2, p3}, Lio/grpc/okhttp/AsyncFrameWriter$6;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;ZILjava/util/List;)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public synStream(ZZIILjava/util/List;)V
    .registers 15
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(ZZII",
            "Ljava/util/List<",
            "Lio/grpc/okhttp/internal/framed/Header;",
            ">;)V"
        }
    .end annotation

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v8, Lio/grpc/okhttp/AsyncFrameWriter$5;

    move-object v1, v8

    move-object v2, p0

    move v3, p1

    move v4, p2

    move v5, p3

    move v6, p4

    move-object v7, p5

    invoke-direct/range {v1 .. v7}, Lio/grpc/okhttp/AsyncFrameWriter$5;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;ZZIILjava/util/List;)V

    invoke-virtual {v0, v8}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method

.method public windowUpdate(IJ)V
    .registers 6

    .line 1
    iget-object v0, p0, Lio/grpc/okhttp/AsyncFrameWriter;->executor:Lio/grpc/internal/SerializingExecutor;

    new-instance v1, Lio/grpc/okhttp/AsyncFrameWriter$13;

    invoke-direct {v1, p0, p1, p2, p3}, Lio/grpc/okhttp/AsyncFrameWriter$13;-><init>(Lio/grpc/okhttp/AsyncFrameWriter;IJ)V

    invoke-virtual {v0, v1}, Lio/grpc/internal/SerializingExecutor;->execute(Ljava/lang/Runnable;)V

    return-void
.end method