SingleTransportChannel.smali
.class final Lio/grpc/internal/SingleTransportChannel;
.super Lio/grpc/Channel;
.source "SingleTransportChannel.java"
# instance fields
.field private final authority:Ljava/lang/String;
.field private final deadlineCancellationExecutor:Ljava/util/concurrent/ScheduledExecutorService;
.field private final executor:Ljava/util/concurrent/Executor;
.field private final transport:Lio/grpc/internal/ClientTransport;
.field private final transportProvider:Lio/grpc/internal/ClientCallImpl$ClientTransportProvider;
# direct methods
.method public constructor <init>(Lio/grpc/internal/ClientTransport;Ljava/util/concurrent/Executor;Ljava/util/concurrent/ScheduledExecutorService;Ljava/lang/String;)V
.registers 6
.line 1
invoke-direct {p0}, Lio/grpc/Channel;-><init>()V
.line 2
new-instance v0, Lio/grpc/internal/SingleTransportChannel$1;
invoke-direct {v0, p0}, Lio/grpc/internal/SingleTransportChannel$1;-><init>(Lio/grpc/internal/SingleTransportChannel;)V
iput-object v0, p0, Lio/grpc/internal/SingleTransportChannel;->transportProvider:Lio/grpc/internal/ClientCallImpl$ClientTransportProvider;
const-string v0, "transport"
.line 3
invoke-static {p1, v0}, Lcom/google/common/base/r;->a(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
check-cast p1, Lio/grpc/internal/ClientTransport;
iput-object p1, p0, Lio/grpc/internal/SingleTransportChannel;->transport:Lio/grpc/internal/ClientTransport;
const-string p1, "executor"
.line 4
invoke-static {p2, p1}, Lcom/google/common/base/r;->a(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
check-cast p2, Ljava/util/concurrent/Executor;
iput-object p2, p0, Lio/grpc/internal/SingleTransportChannel;->executor:Ljava/util/concurrent/Executor;
const-string p1, "deadlineCancellationExecutor"
.line 5
invoke-static {p3, p1}, Lcom/google/common/base/r;->a(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
check-cast p3, Ljava/util/concurrent/ScheduledExecutorService;
iput-object p3, p0, Lio/grpc/internal/SingleTransportChannel;->deadlineCancellationExecutor:Ljava/util/concurrent/ScheduledExecutorService;
const-string p1, "authority"
.line 6
invoke-static {p4, p1}, Lcom/google/common/base/r;->a(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
check-cast p4, Ljava/lang/String;
iput-object p4, p0, Lio/grpc/internal/SingleTransportChannel;->authority:Ljava/lang/String;
return-void
.end method
.method static synthetic access$000(Lio/grpc/internal/SingleTransportChannel;)Lio/grpc/internal/ClientTransport;
.registers 1
.line 1
iget-object p0, p0, Lio/grpc/internal/SingleTransportChannel;->transport:Lio/grpc/internal/ClientTransport;
return-object p0
.end method
# virtual methods
.method public authority()Ljava/lang/String;
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/internal/SingleTransportChannel;->authority:Ljava/lang/String;
return-object v0
.end method
.method public newCall(Lio/grpc/MethodDescriptor;Lio/grpc/CallOptions;)Lio/grpc/ClientCall;
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"<RequestT:",
"Ljava/lang/Object;",
"ResponseT:",
"Ljava/lang/Object;",
">(",
"Lio/grpc/MethodDescriptor<",
"TRequestT;TResponseT;>;",
"Lio/grpc/CallOptions;",
")",
"Lio/grpc/ClientCall<",
"TRequestT;TResponseT;>;"
}
.end annotation
.line 1
new-instance v6, Lio/grpc/internal/ClientCallImpl;
new-instance v2, Lio/grpc/internal/SerializingExecutor;
iget-object v0, p0, Lio/grpc/internal/SingleTransportChannel;->executor:Ljava/util/concurrent/Executor;
invoke-direct {v2, v0}, Lio/grpc/internal/SerializingExecutor;-><init>(Ljava/util/concurrent/Executor;)V
iget-object v4, p0, Lio/grpc/internal/SingleTransportChannel;->transportProvider:Lio/grpc/internal/ClientCallImpl$ClientTransportProvider;
iget-object v5, p0, Lio/grpc/internal/SingleTransportChannel;->deadlineCancellationExecutor:Ljava/util/concurrent/ScheduledExecutorService;
move-object v0, v6
move-object v1, p1
move-object v3, p2
invoke-direct/range {v0 .. v5}, Lio/grpc/internal/ClientCallImpl;-><init>(Lio/grpc/MethodDescriptor;Ljava/util/concurrent/Executor;Lio/grpc/CallOptions;Lio/grpc/internal/ClientCallImpl$ClientTransportProvider;Ljava/util/concurrent/ScheduledExecutorService;)V
return-object v6
.end method