e.smali
.class public Lcom/subgraph/orchid/circuits/b/e;
.super Ljava/lang/Object;
.source "GuardProbeTask.java"
# interfaces
.implements Ljava/lang/Runnable;
# static fields
.field private static final logger:Ljava/util/logging/Logger;
# instance fields
.field private final bBu:Lcom/subgraph/orchid/h;
.field private final bEa:Lcom/subgraph/orchid/circuits/b/d;
.field private final bEb:Lcom/subgraph/orchid/p;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 12
const-class v0, Lcom/subgraph/orchid/circuits/b/e;
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object v0
sput-object v0, Lcom/subgraph/orchid/circuits/b/e;->logger:Ljava/util/logging/Logger;
return-void
.end method
.method public constructor <init>(Lcom/subgraph/orchid/h;Lcom/subgraph/orchid/circuits/b/d;Lcom/subgraph/orchid/p;)V
.registers 4
.prologue
.line 17
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 18
iput-object p1, p0, Lcom/subgraph/orchid/circuits/b/e;->bBu:Lcom/subgraph/orchid/h;
.line 19
iput-object p2, p0, Lcom/subgraph/orchid/circuits/b/e;->bEa:Lcom/subgraph/orchid/circuits/b/d;
.line 20
iput-object p3, p0, Lcom/subgraph/orchid/circuits/b/e;->bEb:Lcom/subgraph/orchid/p;
.line 21
return-void
.end method
# virtual methods
.method public run()V
.registers 8
.prologue
.line 24
iget-object v0, p0, Lcom/subgraph/orchid/circuits/b/e;->bEb:Lcom/subgraph/orchid/p;
invoke-interface {v0}, Lcom/subgraph/orchid/p;->Js()Lcom/subgraph/orchid/v;
move-result-object v1
.line 25
if-nez v1, :cond_10
.line 26
iget-object v0, p0, Lcom/subgraph/orchid/circuits/b/e;->bEa:Lcom/subgraph/orchid/circuits/b/d;
iget-object v1, p0, Lcom/subgraph/orchid/circuits/b/e;->bEb:Lcom/subgraph/orchid/p;
invoke-virtual {v0, v1}, Lcom/subgraph/orchid/circuits/b/d;->c(Lcom/subgraph/orchid/p;)V
.line 1099
:goto_f
return-void
.line 30
:cond_10
:try_start_10
iget-object v0, p0, Lcom/subgraph/orchid/circuits/b/e;->bBu:Lcom/subgraph/orchid/h;
const/4 v2, 0x0
invoke-interface {v0, v1, v2}, Lcom/subgraph/orchid/h;->a(Lcom/subgraph/orchid/v;Z)Lcom/subgraph/orchid/g;
.line 31
iget-object v0, p0, Lcom/subgraph/orchid/circuits/b/e;->bEa:Lcom/subgraph/orchid/circuits/b/d;
iget-object v2, p0, Lcom/subgraph/orchid/circuits/b/e;->bEb:Lcom/subgraph/orchid/p;
.line 1092
iget-object v3, v0, Lcom/subgraph/orchid/circuits/b/d;->lock:Ljava/lang/Object;
monitor-enter v3
:try_end_1d
.catch Lcom/subgraph/orchid/ConnectionIOException; {:try_start_10 .. :try_end_1d} :catch_30
.catch Ljava/lang/InterruptedException; {:try_start_10 .. :try_end_1d} :catch_7e
.catch Ljava/lang/Exception; {:try_start_10 .. :try_end_1d} :catch_87
.line 1093
:try_start_1d
iget-object v4, v0, Lcom/subgraph/orchid/circuits/b/d;->bDO:Ljava/util/Set;
invoke-interface {v4, v2}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
.line 1094
invoke-interface {v2}, Lcom/subgraph/orchid/p;->isAdded()Z
move-result v4
if-eqz v4, :cond_57
.line 1115
invoke-interface {v2}, Lcom/subgraph/orchid/p;->Jm()V
.line 1099
:goto_2b
monitor-exit v3
goto :goto_f
:catchall_2d
move-exception v0
monitor-exit v3
:try_end_2f
.catchall {:try_start_1d .. :try_end_2f} :catchall_2d
:try_start_2f
throw v0
:try_end_30
.catch Lcom/subgraph/orchid/ConnectionIOException; {:try_start_2f .. :try_end_30} :catch_30
.catch Ljava/lang/InterruptedException; {:try_start_2f .. :try_end_30} :catch_7e
.catch Ljava/lang/Exception; {:try_start_2f .. :try_end_30} :catch_87
.line 33
:catch_30
move-exception v0
.line 34
sget-object v2, Lcom/subgraph/orchid/circuits/b/e;->logger:Ljava/util/logging/Logger;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "IO exception probing entry guard "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v3, " : "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
.line 40
:goto_4f
iget-object v0, p0, Lcom/subgraph/orchid/circuits/b/e;->bEa:Lcom/subgraph/orchid/circuits/b/d;
iget-object v1, p0, Lcom/subgraph/orchid/circuits/b/e;->bEb:Lcom/subgraph/orchid/p;
invoke-virtual {v0, v1}, Lcom/subgraph/orchid/circuits/b/d;->c(Lcom/subgraph/orchid/p;)V
goto :goto_f
.line 1119
:cond_57
:try_start_57
sget-object v4, Lcom/subgraph/orchid/circuits/b/d;->logger:Ljava/util/logging/Logger;
new-instance v5, Ljava/lang/StringBuilder;
const-string v6, "Probe connection to "
invoke-direct {v5, v6}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-interface {v2}, Lcom/subgraph/orchid/p;->Js()Lcom/subgraph/orchid/v;
move-result-object v6
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v5
const-string v6, " succeeded. Adding it as a new entry guard."
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v5
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v5}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V
.line 1120
iget-object v4, v0, Lcom/subgraph/orchid/circuits/b/d;->bBs:Lcom/subgraph/orchid/j;
invoke-interface {v4, v2}, Lcom/subgraph/orchid/j;->b(Lcom/subgraph/orchid/p;)V
.line 1121
invoke-virtual {v0}, Lcom/subgraph/orchid/circuits/b/d;->Lp()V
:try_end_7d
.catchall {:try_start_57 .. :try_end_7d} :catchall_2d
goto :goto_2b
.line 36
:catch_7e
move-exception v0
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Thread;->interrupt()V
goto :goto_4f
.line 37
:catch_87
move-exception v0
.line 38
sget-object v1, Lcom/subgraph/orchid/circuits/b/e;->logger:Ljava/util/logging/Logger;
sget-object v2, Ljava/util/logging/Level;->WARNING:Ljava/util/logging/Level;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "Unexpected exception probing entry guard: "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v2, v3, v0}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_4f
.end method