NioReadWriteProcessor$ConnectRunnable.smali
.class Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;
.super Ljava/lang/Object;
.source "NioReadWriteProcessor.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2
name = "ConnectRunnable"
.end annotation
# instance fields
.field final synthetic this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# direct methods
.method private constructor <init>(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)V
.registers 2
.line 104
iput-object p1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method synthetic constructor <init>(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$1;)V
.registers 3
.line 104
invoke-direct {p0, p1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;-><init>(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)V
return-void
.end method
.method private connect(J)Z
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
const-wide/16 v0, -0x1
cmp-long v0, p1, v0
if-nez v0, :cond_11
.line 192
iget-object p1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {p1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object p1
invoke-virtual {p1}, Ljava/nio/channels/Selector;->select()I
move-result p1
goto :goto_1b
.line 194
:cond_11
iget-object v0, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {v0}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object v0
invoke-virtual {v0, p1, p2}, Ljava/nio/channels/Selector;->select(J)I
move-result p1
:goto_1b
const/4 p2, 0x0
const/4 v0, 0x0
if-lez p1, :cond_5d
.line 197
iget-object p1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {p1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object p1
invoke-virtual {p1}, Ljava/nio/channels/Selector;->selectedKeys()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
.line 198
:cond_2d
:goto_2d
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_89
.line 199
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/nio/channels/SelectionKey;
.line 200
invoke-interface {p1}, Ljava/util/Iterator;->remove()V
.line 202
invoke-virtual {v1}, Ljava/nio/channels/SelectionKey;->isValid()Z
move-result v2
if-nez v2, :cond_43
goto :goto_2d
.line 206
:cond_43
invoke-virtual {v1}, Ljava/nio/channels/SelectionKey;->isConnectable()Z
move-result v2
if-eqz v2, :cond_2d
.line 207
invoke-direct {p0, v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->finishConnection(Ljava/nio/channels/SelectionKey;)Z
move-result v0
if-nez v0, :cond_2d
.line 210
invoke-virtual {v1}, Ljava/nio/channels/SelectionKey;->cancel()V
.line 211
invoke-virtual {v1, p2}, Ljava/nio/channels/SelectionKey;->attach(Ljava/lang/Object;)Ljava/lang/Object;
.line 212
invoke-virtual {v1}, Ljava/nio/channels/SelectionKey;->channel()Ljava/nio/channels/SelectableChannel;
move-result-object p1
invoke-virtual {p1}, Ljava/nio/channels/SelectableChannel;->close()V
goto :goto_89
.line 220
:cond_5d
:try_start_5d
iget-object p1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {p1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object p1
invoke-virtual {p1}, Ljava/nio/channels/Selector;->keys()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
.line 221
:goto_6b
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_89
.line 222
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/nio/channels/SelectionKey;
.line 223
invoke-virtual {v1}, Ljava/nio/channels/SelectionKey;->cancel()V
.line 224
invoke-virtual {v1, p2}, Ljava/nio/channels/SelectionKey;->attach(Ljava/lang/Object;)Ljava/lang/Object;
.line 225
invoke-virtual {v1}, Ljava/nio/channels/SelectionKey;->channel()Ljava/nio/channels/SelectableChannel;
move-result-object v1
invoke-virtual {v1}, Ljava/nio/channels/SelectableChannel;->close()V
:try_end_84
.catch Ljava/lang/Exception; {:try_start_5d .. :try_end_84} :catch_85
goto :goto_6b
:catch_85
move-exception p1
.line 228
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
:cond_89
:goto_89
return v0
.end method
.method private finishConnection(Ljava/nio/channels/SelectionKey;)Z
.registers 5
const/4 v0, 0x1
.line 238
:try_start_1
invoke-virtual {p1}, Ljava/nio/channels/SelectionKey;->channel()Ljava/nio/channels/SelectableChannel;
move-result-object v1
check-cast v1, Ljava/nio/channels/SocketChannel;
.line 239
invoke-virtual {v1}, Ljava/nio/channels/SocketChannel;->finishConnect()Z
move-result v1
if-eqz v1, :cond_2d
.line 241
invoke-virtual {p1, v0}, Ljava/nio/channels/SelectionKey;->interestOps(I)Ljava/nio/channels/SelectionKey;
.line 242
iget-object p1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mNioConnectListener:Lcom/open/net/client/impl/tcp/nio/NioConnectListener;
invoke-static {p1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$800(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Lcom/open/net/client/impl/tcp/nio/NioConnectListener;
move-result-object p1
if-eqz p1, :cond_2d
.line 243
iget-object p1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mNioConnectListener:Lcom/open/net/client/impl/tcp/nio/NioConnectListener;
invoke-static {p1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$800(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Lcom/open/net/client/impl/tcp/nio/NioConnectListener;
move-result-object p1
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/SocketChannel;
invoke-static {v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$200(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/SocketChannel;
move-result-object v2
invoke-interface {p1, v1, v2}, Lcom/open/net/client/impl/tcp/nio/NioConnectListener;->onConnectSuccess(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;Ljava/nio/channels/SocketChannel;)V
:try_end_27
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_27} :catch_28
goto :goto_2d
:catch_28
move-exception p1
.line 247
invoke-virtual {p1}, Ljava/lang/Exception;->printStackTrace()V
const/4 v0, 0x0
:cond_2d
:goto_2d
return v0
.end method
# virtual methods
.method public run()V
.registers 7
const/4 v0, 0x1
.line 116
:try_start_1
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
invoke-static {}, Ljava/nio/channels/spi/SelectorProvider;->provider()Ljava/nio/channels/spi/SelectorProvider;
move-result-object v2
invoke-virtual {v2}, Ljava/nio/channels/spi/SelectorProvider;->openSelector()Ljava/nio/channels/spi/AbstractSelector;
move-result-object v2
# setter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {v1, v2}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$102(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;Ljava/nio/channels/Selector;)Ljava/nio/channels/Selector;
.line 117
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
invoke-static {}, Ljava/nio/channels/SocketChannel;->open()Ljava/nio/channels/SocketChannel;
move-result-object v2
# setter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/SocketChannel;
invoke-static {v1, v2}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$202(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;Ljava/nio/channels/SocketChannel;)Ljava/nio/channels/SocketChannel;
.line 118
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/SocketChannel;
invoke-static {v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$200(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/SocketChannel;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v1, v2}, Ljava/nio/channels/SocketChannel;->configureBlocking(Z)Ljava/nio/channels/SelectableChannel;
.line 120
new-instance v1, Ljava/net/InetSocketAddress;
iget-object v3, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mIp:Ljava/lang/String;
invoke-static {v3}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$300(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/lang/String;
move-result-object v3
iget-object v4, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mPort:I
invoke-static {v4}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$400(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)I
move-result v4
invoke-direct {v1, v3, v4}, Ljava/net/InetSocketAddress;-><init>(Ljava/lang/String;I)V
.line 121
iget-object v3, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/SocketChannel;
invoke-static {v3}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$200(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/SocketChannel;
move-result-object v3
invoke-virtual {v3, v1}, Ljava/nio/channels/SocketChannel;->connect(Ljava/net/SocketAddress;)Z
.line 122
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/SocketChannel;
invoke-static {v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$200(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/SocketChannel;
move-result-object v1
iget-object v3, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {v3}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object v3
const/16 v4, 0x8
iget-object v5, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mClient:Lcom/open/net/client/structures/BaseClient;
invoke-static {v5}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$500(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Lcom/open/net/client/structures/BaseClient;
move-result-object v5
invoke-virtual {v1, v3, v4, v5}, Ljava/nio/channels/SocketChannel;->register(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;
.line 125
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->connect_timeout:J
invoke-static {v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$600(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)J
move-result-wide v3
invoke-direct {p0, v3, v4}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->connect(J)Z
move-result v1
if-eqz v1, :cond_10b
:cond_5e
:goto_5e
if-nez v2, :cond_10b
.line 132
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object v1
invoke-virtual {v1}, Ljava/nio/channels/Selector;->select()I
move-result v1
if-lez v1, :cond_d6
.line 134
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object v1
invoke-virtual {v1}, Ljava/nio/channels/Selector;->selectedKeys()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
.line 135
:cond_7a
:goto_7a
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_d6
.line 136
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/nio/channels/SelectionKey;
.line 137
invoke-interface {v1}, Ljava/util/Iterator;->remove()V
.line 139
invoke-virtual {v3}, Ljava/nio/channels/SelectionKey;->isValid()Z
move-result v4
if-nez v4, :cond_90
goto :goto_7a
.line 143
:cond_90
invoke-virtual {v3}, Ljava/nio/channels/SelectionKey;->isReadable()Z
move-result v4
const/4 v5, 0x0
if-eqz v4, :cond_b2
.line 144
invoke-virtual {v3}, Ljava/nio/channels/SelectionKey;->attachment()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/open/net/client/structures/BaseClient;
.line 145
invoke-virtual {v4}, Lcom/open/net/client/structures/BaseClient;->onRead()Z
move-result v4
if-nez v4, :cond_7a
.line 148
invoke-virtual {v3}, Ljava/nio/channels/SelectionKey;->cancel()V
.line 149
invoke-virtual {v3, v5}, Ljava/nio/channels/SelectionKey;->attach(Ljava/lang/Object;)Ljava/lang/Object;
.line 150
invoke-virtual {v3}, Ljava/nio/channels/SelectionKey;->channel()Ljava/nio/channels/SelectableChannel;
move-result-object v1
invoke-virtual {v1}, Ljava/nio/channels/SelectableChannel;->close()V
:goto_b0
move v2, v0
goto :goto_d6
.line 154
:cond_b2
invoke-virtual {v3}, Ljava/nio/channels/SelectionKey;->isWritable()Z
move-result v4
if-eqz v4, :cond_7a
.line 155
invoke-virtual {v3}, Ljava/nio/channels/SelectionKey;->attachment()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/open/net/client/structures/BaseClient;
.line 156
invoke-virtual {v4}, Lcom/open/net/client/structures/BaseClient;->onWrite()Z
move-result v4
if-nez v4, :cond_d2
.line 159
invoke-virtual {v3}, Ljava/nio/channels/SelectionKey;->cancel()V
.line 160
invoke-virtual {v3, v5}, Ljava/nio/channels/SelectionKey;->attach(Ljava/lang/Object;)Ljava/lang/Object;
.line 161
invoke-virtual {v3}, Ljava/nio/channels/SelectionKey;->channel()Ljava/nio/channels/SelectableChannel;
move-result-object v1
invoke-virtual {v1}, Ljava/nio/channels/SelectableChannel;->close()V
goto :goto_b0
.line 164
:cond_d2
invoke-virtual {v3, v0}, Ljava/nio/channels/SelectionKey;->interestOps(I)Ljava/nio/channels/SelectionKey;
goto :goto_7a
:cond_d6
:goto_d6
if-nez v2, :cond_10b
.line 169
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->closed:Z
invoke-static {v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$700(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Z
move-result v1
if-eqz v1, :cond_e1
goto :goto_10b
.line 173
:cond_e1
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mClient:Lcom/open/net/client/structures/BaseClient;
invoke-static {v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$500(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Lcom/open/net/client/structures/BaseClient;
move-result-object v1
iget-object v1, v1, Lcom/open/net/client/structures/BaseClient;->mWriteMessageQueen:Lcom/open/net/client/structures/message/MessageWriteQueen;
iget-object v1, v1, Lcom/open/net/client/structures/message/MessageWriteQueen;->mWriteQueen:Ljava/util/LinkedList;
invoke-virtual {v1}, Ljava/util/LinkedList;->isEmpty()Z
move-result v1
if-nez v1, :cond_5e
.line 174
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/SocketChannel;
invoke-static {v1}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$200(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/SocketChannel;
move-result-object v1
iget-object v3, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {v3}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/nio/channels/SocketChannel;->keyFor(Ljava/nio/channels/Selector;)Ljava/nio/channels/SelectionKey;
move-result-object v1
const/4 v3, 0x4
.line 175
invoke-virtual {v1, v3}, Ljava/nio/channels/SelectionKey;->interestOps(I)Ljava/nio/channels/SelectionKey;
:try_end_105
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_105} :catch_107
goto/16 :goto_5e
:catch_107
move-exception v1
.line 181
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
.line 184
:cond_10b
:goto_10b
iget-object v1, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
invoke-virtual {v1, v0}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->onSocketExit(I)V
return-void
.end method
.method public wakeUp()V
.registers 2
.line 107
iget-object v0, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {v0}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object v0
if-eqz v0, :cond_11
.line 108
iget-object v0, p0, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor$ConnectRunnable;->this$0:Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-static {v0}, Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/tcp/nio/processor/NioReadWriteProcessor;)Ljava/nio/channels/Selector;
move-result-object v0
invoke-virtual {v0}, Ljava/nio/channels/Selector;->wakeup()Ljava/nio/channels/Selector;
:cond_11
return-void
.end method