AbstractStream2.smali

.class public abstract Lio/grpc/internal/AbstractStream2;
.super Ljava/lang/Object;
.source "AbstractStream2.java"

# interfaces
.implements Lio/grpc/internal/Stream;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lio/grpc/internal/AbstractStream2$TransportState;
    }
.end annotation


# direct methods
.method public constructor <init>()V
    .registers 1

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

    return-void
.end method


# virtual methods
.method protected final endOfMessages()V
    .registers 2

    .line 1
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->framer()Lio/grpc/internal/MessageFramer;

    move-result-object v0

    invoke-virtual {v0}, Lio/grpc/internal/MessageFramer;->close()V

    return-void
.end method

.method public final flush()V
    .registers 2

    .line 1
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->framer()Lio/grpc/internal/MessageFramer;

    move-result-object v0

    invoke-virtual {v0}, Lio/grpc/internal/MessageFramer;->isClosed()Z

    move-result v0

    if-nez v0, :cond_11

    .line 2
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->framer()Lio/grpc/internal/MessageFramer;

    move-result-object v0

    invoke-virtual {v0}, Lio/grpc/internal/MessageFramer;->flush()V

    :cond_11
    return-void
.end method

.method protected abstract framer()Lio/grpc/internal/MessageFramer;
.end method

.method public final isReady()Z
    .registers 2

    .line 1
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->framer()Lio/grpc/internal/MessageFramer;

    move-result-object v0

    invoke-virtual {v0}, Lio/grpc/internal/MessageFramer;->isClosed()Z

    move-result v0

    if-eqz v0, :cond_c

    const/4 v0, 0x0

    return v0

    .line 2
    :cond_c
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->transportState()Lio/grpc/internal/AbstractStream2$TransportState;

    move-result-object v0

    # invokes: Lio/grpc/internal/AbstractStream2$TransportState;->isReady()Z
    invoke-static {v0}, Lio/grpc/internal/AbstractStream2$TransportState;->access$100(Lio/grpc/internal/AbstractStream2$TransportState;)Z

    move-result v0

    return v0
.end method

.method protected final onSendingBytes(I)V
    .registers 3

    .line 1
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->transportState()Lio/grpc/internal/AbstractStream2$TransportState;

    move-result-object v0

    # invokes: Lio/grpc/internal/AbstractStream2$TransportState;->onSendingBytes(I)V
    invoke-static {v0, p1}, Lio/grpc/internal/AbstractStream2$TransportState;->access$200(Lio/grpc/internal/AbstractStream2$TransportState;I)V

    return-void
.end method

.method public final setCompressor(Lio/grpc/Compressor;)V
    .registers 4

    .line 1
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->framer()Lio/grpc/internal/MessageFramer;

    move-result-object v0

    const-string v1, "compressor"

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

    check-cast p1, Lio/grpc/Compressor;

    invoke-virtual {v0, p1}, Lio/grpc/internal/MessageFramer;->setCompressor(Lio/grpc/Compressor;)Lio/grpc/internal/MessageFramer;

    return-void
.end method

.method public final setDecompressor(Lio/grpc/Decompressor;)V
    .registers 4

    .line 1
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->transportState()Lio/grpc/internal/AbstractStream2$TransportState;

    move-result-object v0

    const-string v1, "decompressor"

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

    check-cast p1, Lio/grpc/Decompressor;

    # invokes: Lio/grpc/internal/AbstractStream2$TransportState;->setDecompressor(Lio/grpc/Decompressor;)V
    invoke-static {v0, p1}, Lio/grpc/internal/AbstractStream2$TransportState;->access$000(Lio/grpc/internal/AbstractStream2$TransportState;Lio/grpc/Decompressor;)V

    return-void
.end method

.method public final setMessageCompression(Z)V
    .registers 3

    .line 1
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->framer()Lio/grpc/internal/MessageFramer;

    move-result-object v0

    invoke-virtual {v0, p1}, Lio/grpc/internal/MessageFramer;->setMessageCompression(Z)Lio/grpc/internal/MessageFramer;

    return-void
.end method

.method protected abstract transportState()Lio/grpc/internal/AbstractStream2$TransportState;
.end method

.method public final writeMessage(Ljava/io/InputStream;)V
    .registers 3

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

    .line 2
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->framer()Lio/grpc/internal/MessageFramer;

    move-result-object v0

    invoke-virtual {v0}, Lio/grpc/internal/MessageFramer;->isClosed()Z

    move-result v0

    if-nez v0, :cond_14

    .line 3
    invoke-virtual {p0}, Lio/grpc/internal/AbstractStream2;->framer()Lio/grpc/internal/MessageFramer;

    move-result-object v0

    invoke-virtual {v0, p1}, Lio/grpc/internal/MessageFramer;->writePayload(Ljava/io/InputStream;)V

    :cond_14
    return-void
.end method