InternalCircuitImpl.smali
.class public final Lcom/subgraph/orchid/circuits/InternalCircuitImpl;
.super Lcom/subgraph/orchid/circuits/f;
.source "InternalCircuitImpl.java"
# interfaces
.implements Lcom/subgraph/orchid/k;
.implements Lcom/subgraph/orchid/q;
.implements Lcom/subgraph/orchid/r;
# instance fields
.field private bBT:Z
.field private bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
# direct methods
.method protected constructor <init>(Lcom/subgraph/orchid/circuits/g;)V
.registers 3
.prologue
.line 31
const/4 v0, 0x0
invoke-direct {p0, p1, v0}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;-><init>(Lcom/subgraph/orchid/circuits/g;Ljava/util/List;)V
.line 32
return-void
.end method
.method constructor <init>(Lcom/subgraph/orchid/circuits/g;Ljava/util/List;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/subgraph/orchid/circuits/g;",
"Ljava/util/List",
"<",
"Lcom/subgraph/orchid/v;",
">;)V"
}
.end annotation
.prologue
.line 25
invoke-direct {p0, p1, p2}, Lcom/subgraph/orchid/circuits/f;-><init>(Lcom/subgraph/orchid/circuits/g;Ljava/util/List;)V
.line 26
sget-object v0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;->UNUSED:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
iput-object v0, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
.line 27
invoke-virtual {p1}, Lcom/subgraph/orchid/circuits/g;->KP()Z
move-result v0
iput-boolean v0, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bBT:Z
.line 28
return-void
.end method
.method private g(Lcom/subgraph/orchid/v;)V
.registers 5
.prologue
.line 48
iget-object v0, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
sget-object v1, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;->UNUSED:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
if-eq v0, v1, :cond_1d
.line 49
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Cannot cannibalize internal circuit with type "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 52
:cond_1d
new-instance v0, Lcom/subgraph/orchid/circuits/d;
iget-boolean v1, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bBT:Z
invoke-direct {v0, p0, v1}, Lcom/subgraph/orchid/circuits/d;-><init>(Lcom/subgraph/orchid/circuits/f;Z)V
.line 53
invoke-virtual {v0, p1}, Lcom/subgraph/orchid/circuits/d;->f(Lcom/subgraph/orchid/v;)Lcom/subgraph/orchid/f;
.line 54
return-void
.end method
# virtual methods
.method public final Ji()Lcom/subgraph/orchid/aa;
.registers 4
.prologue
.line 57
iget-object v0, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
sget-object v1, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;->HS_DIRECTORY:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
if-eq v0, v1, :cond_1d
.line 58
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Cannot open directory stream on internal circuit with type "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 60
:cond_1d
invoke-virtual {p0}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->KI()Lcom/subgraph/orchid/circuits/s;
move-result-object v0
.line 62
:try_start_21
invoke-virtual {v0}, Lcom/subgraph/orchid/circuits/s;->Lg()V
:try_end_24
.catch Ljava/lang/Exception; {:try_start_21 .. :try_end_24} :catch_25
.line 66
:goto_24
return-object v0
.line 64
:catch_25
move-exception v1
.line 65
invoke-virtual {p0, v0}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->a(Lcom/subgraph/orchid/circuits/s;)V
.line 66
invoke-static {v1}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->d(Ljava/lang/Exception;)Lcom/subgraph/orchid/aa;
move-result-object v0
goto :goto_24
.end method
.method protected final KK()Ljava/lang/String;
.registers 3
.prologue
.line 105
sget-object v0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$1;->bCM:[I
iget-object v1, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
invoke-virtual {v1}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;->ordinal()I
move-result v1
aget v0, v0, v1
packed-switch v0, :pswitch_data_1c
.line 115
const-string v0, "(null)"
:goto_f
return-object v0
.line 107
:pswitch_10
const-string v0, "Hidden Service"
goto :goto_f
.line 109
:pswitch_13
const-string v0, "HS Directory"
goto :goto_f
.line 111
:pswitch_16
const-string v0, "HS Introduction"
goto :goto_f
.line 113
:pswitch_19
const-string v0, "Internal"
goto :goto_f
.line 105
:pswitch_data_1c
.packed-switch 0x1
:pswitch_10
:pswitch_13
:pswitch_16
:pswitch_19
.end packed-switch
.end method
.method public final b(Lcom/subgraph/orchid/f;)Lcom/subgraph/orchid/q;
.registers 5
.prologue
.line 79
iget-object v0, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
sget-object v1, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;->UNUSED:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
if-eq v0, v1, :cond_1d
.line 80
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Cannot connect hidden service from internal circuit type "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 82
:cond_1d
invoke-virtual {p0, p1}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->c(Lcom/subgraph/orchid/f;)V
.line 83
sget-object v0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;->HS_CIRCUIT:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
iput-object v0, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
.line 84
return-object p0
.end method
.method protected final b(Lcom/subgraph/orchid/circuits/path/d;)Ljava/util/List;
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/subgraph/orchid/circuits/path/d;",
")",
"Ljava/util/List",
"<",
"Lcom/subgraph/orchid/v;",
">;"
}
.end annotation
.prologue
.line 1057
invoke-static {}, Ljava/util/Collections;->emptySet()Ljava/util/Set;
move-result-object v0
.line 1058
invoke-virtual {p1, v0}, Lcom/subgraph/orchid/circuits/path/d;->l(Ljava/util/Set;)Lcom/subgraph/orchid/v;
move-result-object v0
.line 1059
invoke-virtual {p1, v0}, Lcom/subgraph/orchid/circuits/path/d;->j(Lcom/subgraph/orchid/v;)Ljava/util/List;
move-result-object v0
.line 37
return-object v0
.end method
.method public final c(Lcom/subgraph/orchid/v;)Lcom/subgraph/orchid/k;
.registers 3
.prologue
.line 72
invoke-direct {p0, p1}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->g(Lcom/subgraph/orchid/v;)V
.line 73
sget-object v0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;->HS_DIRECTORY:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
iput-object v0, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
.line 74
return-object p0
.end method
.method public final d(Lcom/subgraph/orchid/v;)Lcom/subgraph/orchid/c;
.registers 3
.prologue
.line 42
invoke-direct {p0, p1}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->g(Lcom/subgraph/orchid/v;)V
.line 43
sget-object v0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;->HS_INTRODUCTION:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
iput-object v0, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
.line 44
return-object p0
.end method
.method public final eE(I)Lcom/subgraph/orchid/aa;
.registers 6
.prologue
.line 89
iget-object v0, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
sget-object v1, Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;->HS_CIRCUIT:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
if-eq v0, v1, :cond_1d
.line 90
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "Cannot open stream to hidden service from internal circuit type "
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->bCL:Lcom/subgraph/orchid/circuits/InternalCircuitImpl$InternalType;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 92
:cond_1d
invoke-virtual {p0}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->KI()Lcom/subgraph/orchid/circuits/s;
move-result-object v0
.line 94
:try_start_21
const-string v1, ""
const-wide/16 v2, 0x4e20
invoke-virtual {v0, v1, p1, v2, v3}, Lcom/subgraph/orchid/circuits/s;->b(Ljava/lang/String;IJ)V
:try_end_28
.catch Ljava/lang/Exception; {:try_start_21 .. :try_end_28} :catch_29
.line 98
:goto_28
return-object v0
.line 96
:catch_29
move-exception v1
.line 97
invoke-virtual {p0, v0}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->a(Lcom/subgraph/orchid/circuits/s;)V
.line 98
invoke-static {v1}, Lcom/subgraph/orchid/circuits/InternalCircuitImpl;->d(Ljava/lang/Exception;)Lcom/subgraph/orchid/aa;
move-result-object v0
goto :goto_28
.end method