DelayedClientTransport$PendingStream.smali
.class Lio/grpc/internal/DelayedClientTransport$PendingStream;
.super Lio/grpc/internal/DelayedStream;
.source "DelayedClientTransport.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lio/grpc/internal/DelayedClientTransport;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2
name = "PendingStream"
.end annotation
# instance fields
.field private final callOptions:Lio/grpc/CallOptions;
.field private final headers:Lio/grpc/Metadata;
.field private final method:Lio/grpc/MethodDescriptor;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/grpc/MethodDescriptor<",
"**>;"
}
.end annotation
.end field
.field final synthetic this$0:Lio/grpc/internal/DelayedClientTransport;
# direct methods
.method private constructor <init>(Lio/grpc/internal/DelayedClientTransport;Lio/grpc/MethodDescriptor;Lio/grpc/Metadata;Lio/grpc/CallOptions;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/grpc/MethodDescriptor<",
"**>;",
"Lio/grpc/Metadata;",
"Lio/grpc/CallOptions;",
")V"
}
.end annotation
.line 2
iput-object p1, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->this$0:Lio/grpc/internal/DelayedClientTransport;
invoke-direct {p0}, Lio/grpc/internal/DelayedStream;-><init>()V
.line 3
iput-object p2, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->method:Lio/grpc/MethodDescriptor;
.line 4
iput-object p3, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->headers:Lio/grpc/Metadata;
.line 5
iput-object p4, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->callOptions:Lio/grpc/CallOptions;
return-void
.end method
.method synthetic constructor <init>(Lio/grpc/internal/DelayedClientTransport;Lio/grpc/MethodDescriptor;Lio/grpc/Metadata;Lio/grpc/CallOptions;Lio/grpc/internal/DelayedClientTransport$1;)V
.registers 6
.line 1
invoke-direct {p0, p1, p2, p3, p4}, Lio/grpc/internal/DelayedClientTransport$PendingStream;-><init>(Lio/grpc/internal/DelayedClientTransport;Lio/grpc/MethodDescriptor;Lio/grpc/Metadata;Lio/grpc/CallOptions;)V
return-void
.end method
.method static synthetic access$100(Lio/grpc/internal/DelayedClientTransport$PendingStream;Lio/grpc/internal/ClientTransport;)V
.registers 2
.line 1
invoke-direct {p0, p1}, Lio/grpc/internal/DelayedClientTransport$PendingStream;->createRealStream(Lio/grpc/internal/ClientTransport;)V
return-void
.end method
.method static synthetic access$400(Lio/grpc/internal/DelayedClientTransport$PendingStream;)Lio/grpc/CallOptions;
.registers 1
.line 1
iget-object p0, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->callOptions:Lio/grpc/CallOptions;
return-object p0
.end method
.method private createRealStream(Lio/grpc/internal/ClientTransport;)V
.registers 5
.line 1
iget-object v0, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->method:Lio/grpc/MethodDescriptor;
iget-object v1, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->headers:Lio/grpc/Metadata;
iget-object v2, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->callOptions:Lio/grpc/CallOptions;
invoke-interface {p1, v0, v1, v2}, Lio/grpc/internal/ClientTransport;->newStream(Lio/grpc/MethodDescriptor;Lio/grpc/Metadata;Lio/grpc/CallOptions;)Lio/grpc/internal/ClientStream;
move-result-object p1
invoke-virtual {p0, p1}, Lio/grpc/internal/DelayedStream;->setStream(Lio/grpc/internal/ClientStream;)V
return-void
.end method
# virtual methods
.method public cancel(Lio/grpc/Status;)V
.registers 4
.line 1
invoke-super {p0, p1}, Lio/grpc/internal/DelayedStream;->cancel(Lio/grpc/Status;)V
.line 2
iget-object p1, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->this$0:Lio/grpc/internal/DelayedClientTransport;
# getter for: Lio/grpc/internal/DelayedClientTransport;->lock:Ljava/lang/Object;
invoke-static {p1}, Lio/grpc/internal/DelayedClientTransport;->access$200(Lio/grpc/internal/DelayedClientTransport;)Ljava/lang/Object;
move-result-object p1
monitor-enter p1
.line 3
:try_start_a
iget-object v0, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->this$0:Lio/grpc/internal/DelayedClientTransport;
# getter for: Lio/grpc/internal/DelayedClientTransport;->pendingStreams:Ljava/util/Collection;
invoke-static {v0}, Lio/grpc/internal/DelayedClientTransport;->access$500(Lio/grpc/internal/DelayedClientTransport;)Ljava/util/Collection;
move-result-object v0
if-eqz v0, :cond_4b
.line 4
iget-object v0, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->this$0:Lio/grpc/internal/DelayedClientTransport;
# getter for: Lio/grpc/internal/DelayedClientTransport;->pendingStreams:Ljava/util/Collection;
invoke-static {v0}, Lio/grpc/internal/DelayedClientTransport;->access$500(Lio/grpc/internal/DelayedClientTransport;)Ljava/util/Collection;
move-result-object v0
invoke-interface {v0, p0}, Ljava/util/Collection;->remove(Ljava/lang/Object;)Z
move-result v0
.line 5
iget-object v1, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->this$0:Lio/grpc/internal/DelayedClientTransport;
# getter for: Lio/grpc/internal/DelayedClientTransport;->pendingStreams:Ljava/util/Collection;
invoke-static {v1}, Lio/grpc/internal/DelayedClientTransport;->access$500(Lio/grpc/internal/DelayedClientTransport;)Ljava/util/Collection;
move-result-object v1
invoke-interface {v1}, Ljava/util/Collection;->isEmpty()Z
move-result v1
if-eqz v1, :cond_4b
if-eqz v0, :cond_4b
.line 6
iget-object v0, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->this$0:Lio/grpc/internal/DelayedClientTransport;
# getter for: Lio/grpc/internal/DelayedClientTransport;->listener:Lio/grpc/internal/ManagedClientTransport$Listener;
invoke-static {v0}, Lio/grpc/internal/DelayedClientTransport;->access$300(Lio/grpc/internal/DelayedClientTransport;)Lio/grpc/internal/ManagedClientTransport$Listener;
move-result-object v0
const/4 v1, 0x0
invoke-interface {v0, v1}, Lio/grpc/internal/ManagedClientTransport$Listener;->transportInUse(Z)V
.line 7
iget-object v0, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->this$0:Lio/grpc/internal/DelayedClientTransport;
# getter for: Lio/grpc/internal/DelayedClientTransport;->shutdown:Z
invoke-static {v0}, Lio/grpc/internal/DelayedClientTransport;->access$600(Lio/grpc/internal/DelayedClientTransport;)Z
move-result v0
if-eqz v0, :cond_4b
.line 8
iget-object v0, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->this$0:Lio/grpc/internal/DelayedClientTransport;
const/4 v1, 0x0
# setter for: Lio/grpc/internal/DelayedClientTransport;->pendingStreams:Ljava/util/Collection;
invoke-static {v0, v1}, Lio/grpc/internal/DelayedClientTransport;->access$502(Lio/grpc/internal/DelayedClientTransport;Ljava/util/Collection;)Ljava/util/Collection;
.line 9
iget-object v0, p0, Lio/grpc/internal/DelayedClientTransport$PendingStream;->this$0:Lio/grpc/internal/DelayedClientTransport;
# getter for: Lio/grpc/internal/DelayedClientTransport;->listener:Lio/grpc/internal/ManagedClientTransport$Listener;
invoke-static {v0}, Lio/grpc/internal/DelayedClientTransport;->access$300(Lio/grpc/internal/DelayedClientTransport;)Lio/grpc/internal/ManagedClientTransport$Listener;
move-result-object v0
invoke-interface {v0}, Lio/grpc/internal/ManagedClientTransport$Listener;->transportTerminated()V
.line 10
:cond_4b
monitor-exit p1
return-void
:catchall_4d
move-exception v0
monitor-exit p1
:try_end_4f
.catchall {:try_start_a .. :try_end_4f} :catchall_4d
throw v0
.end method