CallOptions.smali
.class public final Lio/grpc/CallOptions;
.super Ljava/lang/Object;
.source "CallOptions.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/grpc/CallOptions$Key;
}
.end annotation
# static fields
.field public static final DEFAULT:Lio/grpc/CallOptions;
# instance fields
.field private affinity:Lio/grpc/Attributes;
.field private authority:Ljava/lang/String;
.field private compressorName:Ljava/lang/String;
.field private credentials:Lio/grpc/CallCredentials;
.field private customOptions:[[Ljava/lang/Object;
.field private deadline:Lio/grpc/Deadline;
.field private executor:Ljava/util/concurrent/Executor;
.field private waitForReady:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 1
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0}, Lio/grpc/CallOptions;-><init>()V
sput-object v0, Lio/grpc/CallOptions;->DEFAULT:Lio/grpc/CallOptions;
return-void
.end method
.method private constructor <init>()V
.registers 3
.line 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 2
sget-object v0, Lio/grpc/Attributes;->EMPTY:Lio/grpc/Attributes;
iput-object v0, p0, Lio/grpc/CallOptions;->affinity:Lio/grpc/Attributes;
const/4 v0, 0x0
const/4 v1, 0x2
.line 3
filled-new-array {v0, v1}, [I
move-result-object v0
const-class v1, Ljava/lang/Object;
invoke-static {v1, v0}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;
move-result-object v0
check-cast v0, [[Ljava/lang/Object;
iput-object v0, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
return-void
.end method
.method private constructor <init>(Lio/grpc/CallOptions;)V
.registers 4
.line 4
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 5
sget-object v0, Lio/grpc/Attributes;->EMPTY:Lio/grpc/Attributes;
iput-object v0, p0, Lio/grpc/CallOptions;->affinity:Lio/grpc/Attributes;
const/4 v0, 0x0
const/4 v1, 0x2
.line 6
filled-new-array {v0, v1}, [I
move-result-object v0
const-class v1, Ljava/lang/Object;
invoke-static {v1, v0}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;
move-result-object v0
check-cast v0, [[Ljava/lang/Object;
iput-object v0, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
.line 7
iget-object v0, p1, Lio/grpc/CallOptions;->deadline:Lio/grpc/Deadline;
iput-object v0, p0, Lio/grpc/CallOptions;->deadline:Lio/grpc/Deadline;
.line 8
iget-object v0, p1, Lio/grpc/CallOptions;->authority:Ljava/lang/String;
iput-object v0, p0, Lio/grpc/CallOptions;->authority:Ljava/lang/String;
.line 9
iget-object v0, p1, Lio/grpc/CallOptions;->credentials:Lio/grpc/CallCredentials;
iput-object v0, p0, Lio/grpc/CallOptions;->credentials:Lio/grpc/CallCredentials;
.line 10
iget-object v0, p1, Lio/grpc/CallOptions;->affinity:Lio/grpc/Attributes;
iput-object v0, p0, Lio/grpc/CallOptions;->affinity:Lio/grpc/Attributes;
.line 11
iget-object v0, p1, Lio/grpc/CallOptions;->executor:Ljava/util/concurrent/Executor;
iput-object v0, p0, Lio/grpc/CallOptions;->executor:Ljava/util/concurrent/Executor;
.line 12
iget-object v0, p1, Lio/grpc/CallOptions;->compressorName:Ljava/lang/String;
iput-object v0, p0, Lio/grpc/CallOptions;->compressorName:Ljava/lang/String;
.line 13
iget-object v0, p1, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
iput-object v0, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
.line 14
iget-boolean p1, p1, Lio/grpc/CallOptions;->waitForReady:Z
iput-boolean p1, p0, Lio/grpc/CallOptions;->waitForReady:Z
return-void
.end method
# virtual methods
.method public getAffinity()Lio/grpc/Attributes;
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/CallOptions;->affinity:Lio/grpc/Attributes;
return-object v0
.end method
.method public getAuthority()Ljava/lang/String;
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/CallOptions;->authority:Ljava/lang/String;
return-object v0
.end method
.method public getCompressor()Ljava/lang/String;
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/CallOptions;->compressorName:Ljava/lang/String;
return-object v0
.end method
.method public getCredentials()Lio/grpc/CallCredentials;
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/CallOptions;->credentials:Lio/grpc/CallCredentials;
return-object v0
.end method
.method public getDeadline()Lio/grpc/Deadline;
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/CallOptions;->deadline:Lio/grpc/Deadline;
return-object v0
.end method
.method public getDeadlineNanoTime()Ljava/lang/Long;
.registers 5
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.line 1
invoke-virtual {p0}, Lio/grpc/CallOptions;->getDeadline()Lio/grpc/Deadline;
move-result-object v0
if-nez v0, :cond_8
const/4 v0, 0x0
return-object v0
.line 2
:cond_8
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v0
invoke-virtual {p0}, Lio/grpc/CallOptions;->getDeadline()Lio/grpc/Deadline;
move-result-object v2
sget-object v3, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invoke-virtual {v2, v3}, Lio/grpc/Deadline;->timeRemaining(Ljava/util/concurrent/TimeUnit;)J
move-result-wide v2
add-long/2addr v0, v2
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
return-object v0
.end method
.method public getExecutor()Ljava/util/concurrent/Executor;
.registers 2
.line 1
iget-object v0, p0, Lio/grpc/CallOptions;->executor:Ljava/util/concurrent/Executor;
return-object v0
.end method
.method public getOption(Lio/grpc/CallOptions$Key;)Ljava/lang/Object;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/grpc/CallOptions$Key<",
"TT;>;)TT;"
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/common/base/r;->a(Ljava/lang/Object;)Ljava/lang/Object;
const/4 v0, 0x0
const/4 v1, 0x0
.line 2
:goto_5
iget-object v2, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
array-length v3, v2
if-ge v1, v3, :cond_1f
.line 3
aget-object v2, v2, v1
aget-object v2, v2, v0
invoke-virtual {p1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1c
.line 4
iget-object p1, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
aget-object p1, p1, v1
const/4 v0, 0x1
aget-object p1, p1, v0
return-object p1
:cond_1c
add-int/lit8 v1, v1, 0x1
goto :goto_5
.line 5
:cond_1f
# getter for: Lio/grpc/CallOptions$Key;->defaultValue:Ljava/lang/Object;
invoke-static {p1}, Lio/grpc/CallOptions$Key;->access$000(Lio/grpc/CallOptions$Key;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public isWaitForReady()Z
.registers 2
.line 1
iget-boolean v0, p0, Lio/grpc/CallOptions;->waitForReady:Z
return v0
.end method
.method public toString()Ljava/lang/String;
.registers 4
.line 1
invoke-static {p0}, Lcom/google/common/base/k;->a(Ljava/lang/Object;)Lcom/google/common/base/k$a;
move-result-object v0
.line 2
iget-object v1, p0, Lio/grpc/CallOptions;->deadline:Lio/grpc/Deadline;
const-string v2, "deadline"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/k$a;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/k$a;
.line 3
iget-object v1, p0, Lio/grpc/CallOptions;->authority:Ljava/lang/String;
const-string v2, "authority"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/k$a;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/k$a;
.line 4
iget-object v1, p0, Lio/grpc/CallOptions;->credentials:Lio/grpc/CallCredentials;
const-string v2, "callCredentials"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/k$a;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/k$a;
.line 5
iget-object v1, p0, Lio/grpc/CallOptions;->affinity:Lio/grpc/Attributes;
const-string v2, "affinity"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/k$a;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/k$a;
.line 6
iget-object v1, p0, Lio/grpc/CallOptions;->executor:Ljava/util/concurrent/Executor;
if-eqz v1, :cond_29
invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v1
goto :goto_2a
:cond_29
const/4 v1, 0x0
:goto_2a
const-string v2, "executor"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/k$a;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/k$a;
.line 7
iget-object v1, p0, Lio/grpc/CallOptions;->compressorName:Ljava/lang/String;
const-string v2, "compressorName"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/k$a;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/k$a;
.line 8
iget-object v1, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
invoke-static {v1}, Ljava/util/Arrays;->deepToString([Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
const-string v2, "customOptions"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/k$a;->a(Ljava/lang/String;Ljava/lang/Object;)Lcom/google/common/base/k$a;
.line 9
invoke-virtual {p0}, Lio/grpc/CallOptions;->isWaitForReady()Z
move-result v1
const-string v2, "waitForReady"
invoke-virtual {v0, v2, v1}, Lcom/google/common/base/k$a;->a(Ljava/lang/String;Z)Lcom/google/common/base/k$a;
.line 10
invoke-virtual {v0}, Lcom/google/common/base/k$a;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public withAffinity(Lio/grpc/Attributes;)Lio/grpc/CallOptions;
.registers 3
.line 1
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0, p0}, Lio/grpc/CallOptions;-><init>(Lio/grpc/CallOptions;)V
.line 2
invoke-static {p1}, Lcom/google/common/base/r;->a(Ljava/lang/Object;)Ljava/lang/Object;
check-cast p1, Lio/grpc/Attributes;
iput-object p1, v0, Lio/grpc/CallOptions;->affinity:Lio/grpc/Attributes;
return-object v0
.end method
.method public withAuthority(Ljava/lang/String;)Lio/grpc/CallOptions;
.registers 3
.line 1
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0, p0}, Lio/grpc/CallOptions;-><init>(Lio/grpc/CallOptions;)V
.line 2
iput-object p1, v0, Lio/grpc/CallOptions;->authority:Ljava/lang/String;
return-object v0
.end method
.method public withCallCredentials(Lio/grpc/CallCredentials;)Lio/grpc/CallOptions;
.registers 3
.line 1
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0, p0}, Lio/grpc/CallOptions;-><init>(Lio/grpc/CallOptions;)V
.line 2
iput-object p1, v0, Lio/grpc/CallOptions;->credentials:Lio/grpc/CallCredentials;
return-object v0
.end method
.method public withCompression(Ljava/lang/String;)Lio/grpc/CallOptions;
.registers 3
.line 1
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0, p0}, Lio/grpc/CallOptions;-><init>(Lio/grpc/CallOptions;)V
.line 2
iput-object p1, v0, Lio/grpc/CallOptions;->compressorName:Ljava/lang/String;
return-object v0
.end method
.method public withDeadline(Lio/grpc/Deadline;)Lio/grpc/CallOptions;
.registers 3
.line 1
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0, p0}, Lio/grpc/CallOptions;-><init>(Lio/grpc/CallOptions;)V
.line 2
iput-object p1, v0, Lio/grpc/CallOptions;->deadline:Lio/grpc/Deadline;
return-object v0
.end method
.method public withDeadlineAfter(JLjava/util/concurrent/TimeUnit;)Lio/grpc/CallOptions;
.registers 4
.line 1
invoke-static {p1, p2, p3}, Lio/grpc/Deadline;->after(JLjava/util/concurrent/TimeUnit;)Lio/grpc/Deadline;
move-result-object p1
invoke-virtual {p0, p1}, Lio/grpc/CallOptions;->withDeadline(Lio/grpc/Deadline;)Lio/grpc/CallOptions;
move-result-object p1
return-object p1
.end method
.method public withDeadlineNanoTime(Ljava/lang/Long;)Lio/grpc/CallOptions;
.registers 6
.annotation runtime Ljava/lang/Deprecated;
.end annotation
if-eqz p1, :cond_12
.line 1
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v2
sub-long/2addr v0, v2
sget-object p1, Ljava/util/concurrent/TimeUnit;->NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invoke-static {v0, v1, p1}, Lio/grpc/Deadline;->after(JLjava/util/concurrent/TimeUnit;)Lio/grpc/Deadline;
move-result-object p1
goto :goto_13
:cond_12
const/4 p1, 0x0
.line 2
:goto_13
invoke-virtual {p0, p1}, Lio/grpc/CallOptions;->withDeadline(Lio/grpc/Deadline;)Lio/grpc/CallOptions;
move-result-object p1
return-object p1
.end method
.method public withExecutor(Ljava/util/concurrent/Executor;)Lio/grpc/CallOptions;
.registers 3
.line 1
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0, p0}, Lio/grpc/CallOptions;-><init>(Lio/grpc/CallOptions;)V
.line 2
iput-object p1, v0, Lio/grpc/CallOptions;->executor:Ljava/util/concurrent/Executor;
return-object v0
.end method
.method public withOption(Lio/grpc/CallOptions$Key;Ljava/lang/Object;)Lio/grpc/CallOptions;
.registers 12
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Lio/grpc/CallOptions$Key<",
"TT;>;TT;)",
"Lio/grpc/CallOptions;"
}
.end annotation
.line 1
invoke-static {p1}, Lcom/google/common/base/r;->a(Ljava/lang/Object;)Ljava/lang/Object;
.line 2
invoke-static {p2}, Lcom/google/common/base/r;->a(Ljava/lang/Object;)Ljava/lang/Object;
.line 3
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0, p0}, Lio/grpc/CallOptions;-><init>(Lio/grpc/CallOptions;)V
const/4 v1, 0x0
const/4 v2, 0x0
.line 4
:goto_d
iget-object v3, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
array-length v4, v3
const/4 v5, -0x1
if-ge v2, v4, :cond_21
.line 5
aget-object v3, v3, v2
aget-object v3, v3, v1
invoke-virtual {p1, v3}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1e
goto :goto_22
:cond_1e
add-int/lit8 v2, v2, 0x1
goto :goto_d
:cond_21
const/4 v2, -0x1
.line 6
:goto_22
iget-object v3, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
array-length v3, v3
const/4 v4, 0x1
if-ne v2, v5, :cond_2a
const/4 v6, 0x1
goto :goto_2b
:cond_2a
const/4 v6, 0x0
:goto_2b
add-int/2addr v3, v6
const/4 v6, 0x2
filled-new-array {v3, v6}, [I
move-result-object v3
const-class v7, Ljava/lang/Object;
invoke-static {v7, v3}, Ljava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;
move-result-object v3
check-cast v3, [[Ljava/lang/Object;
iput-object v3, v0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
.line 7
iget-object v3, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
iget-object v7, v0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
array-length v8, v3
invoke-static {v3, v1, v7, v1, v8}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
if-ne v2, v5, :cond_53
.line 8
iget-object v2, v0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
iget-object v3, p0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
array-length v3, v3
new-array v5, v6, [Ljava/lang/Object;
aput-object p1, v5, v1
aput-object p2, v5, v4
aput-object v5, v2, v3
goto :goto_59
.line 9
:cond_53
iget-object p1, v0, Lio/grpc/CallOptions;->customOptions:[[Ljava/lang/Object;
aget-object p1, p1, v2
aput-object p2, p1, v4
:goto_59
return-object v0
.end method
.method public withWaitForReady()Lio/grpc/CallOptions;
.registers 3
.line 1
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0, p0}, Lio/grpc/CallOptions;-><init>(Lio/grpc/CallOptions;)V
const/4 v1, 0x1
.line 2
iput-boolean v1, v0, Lio/grpc/CallOptions;->waitForReady:Z
return-object v0
.end method
.method public withoutWaitForReady()Lio/grpc/CallOptions;
.registers 3
.line 1
new-instance v0, Lio/grpc/CallOptions;
invoke-direct {v0, p0}, Lio/grpc/CallOptions;-><init>(Lio/grpc/CallOptions;)V
const/4 v1, 0x0
.line 2
iput-boolean v1, v0, Lio/grpc/CallOptions;->waitForReady:Z
return-object v0
.end method