BlockingClient$1.smali
.class Lorg/bitcoinj/net/BlockingClient$1;
.super Ljava/lang/Thread;
.source "BlockingClient.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lorg/bitcoinj/net/BlockingClient;-><init>(Ljava/net/SocketAddress;Lorg/bitcoinj/net/StreamConnection;ILjavax/net/SocketFactory;Ljava/util/Set;)V
.end annotation
# instance fields
.field final synthetic this$0:Lorg/bitcoinj/net/BlockingClient;
.field final synthetic val$clientSet:Ljava/util/Set;
.field final synthetic val$connectTimeoutMillis:I
.field final synthetic val$connection:Lorg/bitcoinj/net/StreamConnection;
.field final synthetic val$context:Lorg/bitcoinj/core/Context;
.field final synthetic val$serverAddress:Ljava/net/SocketAddress;
# direct methods
.method constructor <init>(Lorg/bitcoinj/net/BlockingClient;Lorg/bitcoinj/core/Context;Ljava/util/Set;Ljava/net/SocketAddress;ILorg/bitcoinj/net/StreamConnection;)V
.registers 7
.prologue
.line 70
iput-object p1, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
iput-object p2, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$context:Lorg/bitcoinj/core/Context;
iput-object p3, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$clientSet:Ljava/util/Set;
iput-object p4, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$serverAddress:Ljava/net/SocketAddress;
iput p5, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$connectTimeoutMillis:I
iput-object p6, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$connection:Lorg/bitcoinj/net/StreamConnection;
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.registers 6
.prologue
.line 73
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$context:Lorg/bitcoinj/core/Context;
invoke-static {v0}, Lorg/bitcoinj/core/Context;->propagate(Lorg/bitcoinj/core/Context;)V
.line 74
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$clientSet:Ljava/util/Set;
if-eqz v0, :cond_10
.line 75
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$clientSet:Ljava/util/Set;
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
invoke-interface {v0, v1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
.line 77
:cond_10
:try_start_10
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
# getter for: Lorg/bitcoinj/net/BlockingClient;->socket:Ljava/net/Socket;
invoke-static {v0}, Lorg/bitcoinj/net/BlockingClient;->access$000(Lorg/bitcoinj/net/BlockingClient;)Ljava/net/Socket;
move-result-object v0
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$serverAddress:Ljava/net/SocketAddress;
iget v2, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$connectTimeoutMillis:I
invoke-virtual {v0, v1, v2}, Ljava/net/Socket;->connect(Ljava/net/SocketAddress;I)V
.line 78
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$connection:Lorg/bitcoinj/net/StreamConnection;
invoke-interface {v0}, Lorg/bitcoinj/net/StreamConnection;->connectionOpened()V
.line 79
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
# getter for: Lorg/bitcoinj/net/BlockingClient;->connectFuture:Lcom/google/common/util/concurrent/ao;
invoke-static {v0}, Lorg/bitcoinj/net/BlockingClient;->access$100(Lorg/bitcoinj/net/BlockingClient;)Lcom/google/common/util/concurrent/ao;
move-result-object v0
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$serverAddress:Ljava/net/SocketAddress;
invoke-virtual {v0, v1}, Lcom/google/common/util/concurrent/ao;->set(Ljava/lang/Object;)Z
.line 80
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
# getter for: Lorg/bitcoinj/net/BlockingClient;->socket:Ljava/net/Socket;
invoke-static {v0}, Lorg/bitcoinj/net/BlockingClient;->access$000(Lorg/bitcoinj/net/BlockingClient;)Ljava/net/Socket;
move-result-object v0
invoke-virtual {v0}, Ljava/net/Socket;->getInputStream()Ljava/io/InputStream;
move-result-object v0
.line 81
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$connection:Lorg/bitcoinj/net/StreamConnection;
invoke-static {v0, v1}, Lorg/bitcoinj/net/BlockingClient;->runReadLoop(Ljava/io/InputStream;Lorg/bitcoinj/net/StreamConnection;)V
:try_end_3c
.catch Ljava/lang/Exception; {:try_start_10 .. :try_end_3c} :catch_56
.catchall {:try_start_10 .. :try_end_3c} :catchall_91
.line 89
:try_start_3c
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
# getter for: Lorg/bitcoinj/net/BlockingClient;->socket:Ljava/net/Socket;
invoke-static {v0}, Lorg/bitcoinj/net/BlockingClient;->access$000(Lorg/bitcoinj/net/BlockingClient;)Ljava/net/Socket;
move-result-object v0
invoke-virtual {v0}, Ljava/net/Socket;->close()V
:try_end_45
.catch Ljava/io/IOException; {:try_start_3c .. :try_end_45} :catch_b0
.line 93
:goto_45
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$clientSet:Ljava/util/Set;
if-eqz v0, :cond_50
.line 94
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$clientSet:Ljava/util/Set;
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
invoke-interface {v0, v1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
.line 95
:cond_50
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$connection:Lorg/bitcoinj/net/StreamConnection;
invoke-interface {v0}, Lorg/bitcoinj/net/StreamConnection;->connectionClosed()V
.line 96
:goto_55
return-void
.line 82
:catch_56
move-exception v0
.line 83
:try_start_57
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
# getter for: Lorg/bitcoinj/net/BlockingClient;->vCloseRequested:Z
invoke-static {v1}, Lorg/bitcoinj/net/BlockingClient;->access$200(Lorg/bitcoinj/net/BlockingClient;)Z
move-result v1
if-nez v1, :cond_77
.line 84
# getter for: Lorg/bitcoinj/net/BlockingClient;->log:Lorg/slf4j/Logger;
invoke-static {}, Lorg/bitcoinj/net/BlockingClient;->access$300()Lorg/slf4j/Logger;
move-result-object v1
const-string v2, "Error trying to open/read from connection: {}: {}"
iget-object v3, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$serverAddress:Ljava/net/SocketAddress;
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v4
invoke-interface {v1, v2, v3, v4}, Lorg/slf4j/Logger;->error(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
.line 85
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
# getter for: Lorg/bitcoinj/net/BlockingClient;->connectFuture:Lcom/google/common/util/concurrent/ao;
invoke-static {v1}, Lorg/bitcoinj/net/BlockingClient;->access$100(Lorg/bitcoinj/net/BlockingClient;)Lcom/google/common/util/concurrent/ao;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/google/common/util/concurrent/ao;->setException(Ljava/lang/Throwable;)Z
:try_end_77
.catchall {:try_start_57 .. :try_end_77} :catchall_91
.line 89
:cond_77
:try_start_77
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
# getter for: Lorg/bitcoinj/net/BlockingClient;->socket:Ljava/net/Socket;
invoke-static {v0}, Lorg/bitcoinj/net/BlockingClient;->access$000(Lorg/bitcoinj/net/BlockingClient;)Ljava/net/Socket;
move-result-object v0
invoke-virtual {v0}, Ljava/net/Socket;->close()V
:try_end_80
.catch Ljava/io/IOException; {:try_start_77 .. :try_end_80} :catch_ae
.line 93
:goto_80
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$clientSet:Ljava/util/Set;
if-eqz v0, :cond_8b
.line 94
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$clientSet:Ljava/util/Set;
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
invoke-interface {v0, v1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
.line 95
:cond_8b
iget-object v0, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$connection:Lorg/bitcoinj/net/StreamConnection;
invoke-interface {v0}, Lorg/bitcoinj/net/StreamConnection;->connectionClosed()V
goto :goto_55
.line 88
:catchall_91
move-exception v0
.line 89
:try_start_92
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
# getter for: Lorg/bitcoinj/net/BlockingClient;->socket:Ljava/net/Socket;
invoke-static {v1}, Lorg/bitcoinj/net/BlockingClient;->access$000(Lorg/bitcoinj/net/BlockingClient;)Ljava/net/Socket;
move-result-object v1
invoke-virtual {v1}, Ljava/net/Socket;->close()V
:try_end_9b
.catch Ljava/io/IOException; {:try_start_92 .. :try_end_9b} :catch_ac
.line 93
:goto_9b
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$clientSet:Ljava/util/Set;
if-eqz v1, :cond_a6
.line 94
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$clientSet:Ljava/util/Set;
iget-object v2, p0, Lorg/bitcoinj/net/BlockingClient$1;->this$0:Lorg/bitcoinj/net/BlockingClient;
invoke-interface {v1, v2}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
.line 95
:cond_a6
iget-object v1, p0, Lorg/bitcoinj/net/BlockingClient$1;->val$connection:Lorg/bitcoinj/net/StreamConnection;
invoke-interface {v1}, Lorg/bitcoinj/net/StreamConnection;->connectionClosed()V
throw v0
:catch_ac
move-exception v1
goto :goto_9b
:catch_ae
move-exception v0
goto :goto_80
:catch_b0
move-exception v0
goto :goto_45
.end method