q.smali
.class public final Lcom/subgraph/orchid/circuits/q;
.super Ljava/lang/Object;
.source "PendingExitStreams.java"
# instance fields
.field private final bBr:Lcom/subgraph/orchid/TorConfig;
.field private final bCR:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set",
"<",
"Lcom/subgraph/orchid/circuits/StreamExitRequest;",
">;"
}
.end annotation
.end field
.field final lock:Ljava/lang/Object;
# direct methods
.method constructor <init>(Lcom/subgraph/orchid/TorConfig;)V
.registers 3
.prologue
.line 21
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 18
new-instance v0, Ljava/lang/Object;
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
iput-object v0, p0, Lcom/subgraph/orchid/circuits/q;->lock:Ljava/lang/Object;
.line 22
iput-object p1, p0, Lcom/subgraph/orchid/circuits/q;->bBr:Lcom/subgraph/orchid/TorConfig;
.line 23
new-instance v0, Ljava/util/HashSet;
invoke-direct {v0}, Ljava/util/HashSet;-><init>()V
iput-object v0, p0, Lcom/subgraph/orchid/circuits/q;->bCR:Ljava/util/Set;
.line 24
return-void
.end method
.method private b(Lcom/subgraph/orchid/circuits/StreamExitRequest;)Lcom/subgraph/orchid/aa;
.registers 3
.prologue
.line 53
:goto_0
invoke-virtual {p1}, Lcom/subgraph/orchid/circuits/StreamExitRequest;->isCompleted()Z
move-result v0
if-nez v0, :cond_c
.line 54
iget-object v0, p0, Lcom/subgraph/orchid/circuits/q;->lock:Ljava/lang/Object;
invoke-virtual {v0}, Ljava/lang/Object;->wait()V
goto :goto_0
.line 57
:cond_c
:try_start_c
invoke-virtual {p1}, Lcom/subgraph/orchid/circuits/StreamExitRequest;->Lc()Lcom/subgraph/orchid/aa;
:try_end_f
.catch Ljava/util/concurrent/TimeoutException; {:try_start_c .. :try_end_f} :catch_11
.catch Lcom/subgraph/orchid/StreamConnectFailedException; {:try_start_c .. :try_end_f} :catch_16
move-result-object v0
return-object v0
.line 59
:catch_11
move-exception v0
invoke-virtual {p1}, Lcom/subgraph/orchid/circuits/StreamExitRequest;->Ld()V
goto :goto_0
.line 61
:catch_16
move-exception v0
invoke-virtual {p1}, Lcom/subgraph/orchid/circuits/StreamExitRequest;->Ld()V
goto :goto_0
.end method
# virtual methods
.method final KZ()Ljava/util/List;
.registers 6
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List",
"<",
"Lcom/subgraph/orchid/circuits/StreamExitRequest;",
">;"
}
.end annotation
.prologue
.line 67
new-instance v1, Ljava/util/ArrayList;
invoke-direct {v1}, Ljava/util/ArrayList;-><init>()V
.line 68
iget-object v2, p0, Lcom/subgraph/orchid/circuits/q;->lock:Ljava/lang/Object;
monitor-enter v2
.line 69
:try_start_8
iget-object v0, p0, Lcom/subgraph/orchid/circuits/q;->bCR:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_e
:goto_e
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_27
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcom/subgraph/orchid/circuits/StreamExitRequest;
.line 70
invoke-virtual {v0}, Lcom/subgraph/orchid/circuits/StreamExitRequest;->Lf()Z
move-result v4
if-nez v4, :cond_e
.line 71
invoke-interface {v1, v0}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_e
.line 74
:catchall_24
move-exception v0
monitor-exit v2
:try_end_26
.catchall {:try_start_8 .. :try_end_26} :catchall_24
throw v0
:cond_27
:try_start_27
monitor-exit v2
:try_end_28
.catchall {:try_start_27 .. :try_end_28} :catchall_24
.line 75
return-object v1
.end method
.method final a(Lcom/subgraph/orchid/circuits/StreamExitRequest;)Lcom/subgraph/orchid/aa;
.registers 6
.prologue
.line 37
iget-object v0, p0, Lcom/subgraph/orchid/circuits/q;->bBr:Lcom/subgraph/orchid/TorConfig;
invoke-interface {v0}, Lcom/subgraph/orchid/TorConfig;->Kf()J
move-result-wide v0
const-wide/16 v2, 0x0
cmp-long v0, v0, v2
if-eqz v0, :cond_15
.line 38
iget-object v0, p0, Lcom/subgraph/orchid/circuits/q;->bBr:Lcom/subgraph/orchid/TorConfig;
invoke-interface {v0}, Lcom/subgraph/orchid/TorConfig;->Kf()J
move-result-wide v0
invoke-virtual {p1, v0, v1}, Lcom/subgraph/orchid/circuits/StreamExitRequest;->M(J)V
.line 41
:cond_15
iget-object v1, p0, Lcom/subgraph/orchid/circuits/q;->lock:Ljava/lang/Object;
monitor-enter v1
.line 42
:try_start_18
iget-object v0, p0, Lcom/subgraph/orchid/circuits/q;->bCR:Ljava/util/Set;
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:try_end_1d
.catchall {:try_start_18 .. :try_end_1d} :catchall_2f
.line 44
:try_start_1d
invoke-direct {p0, p1}, Lcom/subgraph/orchid/circuits/q;->b(Lcom/subgraph/orchid/circuits/StreamExitRequest;)Lcom/subgraph/orchid/aa;
:try_end_20
.catchall {:try_start_1d .. :try_end_20} :catchall_28
move-result-object v0
.line 46
:try_start_21
iget-object v2, p0, Lcom/subgraph/orchid/circuits/q;->bCR:Ljava/util/Set;
invoke-interface {v2, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
monitor-exit v1
return-object v0
:catchall_28
move-exception v0
iget-object v2, p0, Lcom/subgraph/orchid/circuits/q;->bCR:Ljava/util/Set;
invoke-interface {v2, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
throw v0
.line 48
:catchall_2f
move-exception v0
monitor-exit v1
:try_end_31
.catchall {:try_start_21 .. :try_end_31} :catchall_2f
throw v0
.end method