UdpBioReadWriteProcessor.smali
.class public Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;
.super Ljava/lang/Object;
.source "UdpBioReadWriteProcessor.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ReadRunnable;,
Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;,
Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ConnectRunnable;
}
.end annotation
# static fields
.field private static G_SOCKET_ID:I
# instance fields
.field private TAG:Ljava/lang/String;
.field private mClient:Lcom/open/net/client/structures/BaseClient;
.field private mConnectProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ConnectRunnable;
.field private mConnectStatusListener:Lcom/open/net/client/impl/udp/bio/UdpBioConnectListener;
.field private mConnectThread:Ljava/lang/Thread;
.field private mIp:Ljava/lang/String;
.field private mPort:I
.field private mReadProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ReadRunnable;
.field private mReadThread:Ljava/lang/Thread;
.field private mSocket:Ljava/net/DatagramSocket;
.field private mSocketId:I
.field private mWriteProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;
.field private mWriteThread:Ljava/lang/Thread;
.field private r_w_count:I
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>(Ljava/lang/String;ILcom/open/net/client/structures/BaseClient;Lcom/open/net/client/impl/udp/bio/UdpBioConnectListener;)V
.registers 6
.line 44
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "UdpBioReadWriteProcessor"
.line 21
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->TAG:Ljava/lang/String;
const-string v0, "192.168.1.1"
.line 26
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mIp:Ljava/lang/String;
const/16 v0, 0x270f
.line 27
iput v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mPort:I
const/4 v0, 0x0
.line 38
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectThread:Ljava/lang/Thread;
.line 39
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteThread:Ljava/lang/Thread;
.line 40
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mReadThread:Ljava/lang/Thread;
const/4 v0, 0x2
.line 42
iput v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->r_w_count:I
.line 45
sget v0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->G_SOCKET_ID:I
add-int/lit8 v0, v0, 0x1
sput v0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->G_SOCKET_ID:I
.line 47
iput v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mSocketId:I
.line 48
iput-object p1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mIp:Ljava/lang/String;
.line 49
iput p2, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mPort:I
.line 50
iput-object p3, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mClient:Lcom/open/net/client/structures/BaseClient;
.line 51
iput-object p4, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectStatusListener:Lcom/open/net/client/impl/udp/bio/UdpBioConnectListener;
return-void
.end method
.method static synthetic access$100(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)Lcom/open/net/client/structures/BaseClient;
.registers 1
.line 19
iget-object p0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mClient:Lcom/open/net/client/structures/BaseClient;
return-object p0
.end method
.method static synthetic access$1000(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)Ljava/lang/Thread;
.registers 1
.line 19
iget-object p0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteThread:Ljava/lang/Thread;
return-object p0
.end method
.method static synthetic access$1002(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;Ljava/lang/Thread;)Ljava/lang/Thread;
.registers 2
.line 19
iput-object p1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteThread:Ljava/lang/Thread;
return-object p1
.end method
.method static synthetic access$1100(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)Ljava/lang/Thread;
.registers 1
.line 19
iget-object p0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mReadThread:Ljava/lang/Thread;
return-object p0
.end method
.method static synthetic access$1102(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;Ljava/lang/Thread;)Ljava/lang/Thread;
.registers 2
.line 19
iput-object p1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mReadThread:Ljava/lang/Thread;
return-object p1
.end method
.method static synthetic access$200(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)Ljava/net/DatagramSocket;
.registers 1
.line 19
iget-object p0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mSocket:Ljava/net/DatagramSocket;
return-object p0
.end method
.method static synthetic access$202(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;Ljava/net/DatagramSocket;)Ljava/net/DatagramSocket;
.registers 2
.line 19
iput-object p1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mSocket:Ljava/net/DatagramSocket;
return-object p1
.end method
.method static synthetic access$300(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)Ljava/lang/String;
.registers 1
.line 19
iget-object p0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mIp:Ljava/lang/String;
return-object p0
.end method
.method static synthetic access$400(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)I
.registers 1
.line 19
iget p0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mPort:I
return p0
.end method
.method static synthetic access$500(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)Lcom/open/net/client/impl/udp/bio/UdpBioConnectListener;
.registers 1
.line 19
iget-object p0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectStatusListener:Lcom/open/net/client/impl/udp/bio/UdpBioConnectListener;
return-object p0
.end method
.method static synthetic access$600(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;
.registers 1
.line 19
iget-object p0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;
return-object p0
.end method
.method static synthetic access$602(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;)Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;
.registers 2
.line 19
iput-object p1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;
return-object p1
.end method
.method static synthetic access$800(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ReadRunnable;
.registers 1
.line 19
iget-object p0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mReadProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ReadRunnable;
return-object p0
.end method
.method static synthetic access$802(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ReadRunnable;)Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ReadRunnable;
.registers 2
.line 19
iput-object p1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mReadProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ReadRunnable;
return-object p1
.end method
# virtual methods
.method public declared-synchronized close()V
.registers 3
monitor-enter p0
.line 62
:try_start_1
invoke-virtual {p0}, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->wakeUp()V
.line 64
iget-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mSocket:Ljava/net/DatagramSocket;
if-eqz v0, :cond_b
.line 65
invoke-virtual {v0}, Ljava/net/DatagramSocket;->close()V
:try_end_b
.catchall {:try_start_1 .. :try_end_b} :catchall_62
:cond_b
const/4 v0, 0x0
.line 69
:try_start_c
iget-object v1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectThread:Ljava/lang/Thread;
if-eqz v1, :cond_1b
invoke-virtual {v1}, Ljava/lang/Thread;->isAlive()Z
move-result v1
if-eqz v1, :cond_1b
.line 70
iget-object v1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectThread:Ljava/lang/Thread;
invoke-virtual {v1}, Ljava/lang/Thread;->interrupt()V
:try_end_1b
.catch Ljava/lang/Exception; {:try_start_c .. :try_end_1b} :catch_20
.catchall {:try_start_c .. :try_end_1b} :catchall_1e
.line 75
:cond_1b
:goto_1b
:try_start_1b
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectThread:Ljava/lang/Thread;
:try_end_1d
.catchall {:try_start_1b .. :try_end_1d} :catchall_62
goto :goto_25
:catchall_1e
move-exception v1
goto :goto_5f
:catch_20
move-exception v1
.line 73
:try_start_21
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_24
.catchall {:try_start_21 .. :try_end_24} :catchall_1e
goto :goto_1b
.line 79
:goto_25
:try_start_25
iget-object v1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteThread:Ljava/lang/Thread;
if-eqz v1, :cond_34
invoke-virtual {v1}, Ljava/lang/Thread;->isAlive()Z
move-result v1
if-eqz v1, :cond_34
.line 80
iget-object v1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteThread:Ljava/lang/Thread;
invoke-virtual {v1}, Ljava/lang/Thread;->interrupt()V
:try_end_34
.catch Ljava/lang/Exception; {:try_start_25 .. :try_end_34} :catch_39
.catchall {:try_start_25 .. :try_end_34} :catchall_37
.line 85
:cond_34
:goto_34
:try_start_34
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteThread:Ljava/lang/Thread;
:try_end_36
.catchall {:try_start_34 .. :try_end_36} :catchall_62
goto :goto_3e
:catchall_37
move-exception v1
goto :goto_5c
:catch_39
move-exception v1
.line 83
:try_start_3a
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_3d
.catchall {:try_start_3a .. :try_end_3d} :catchall_37
goto :goto_34
.line 89
:goto_3e
:try_start_3e
iget-object v1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mReadThread:Ljava/lang/Thread;
if-eqz v1, :cond_4d
invoke-virtual {v1}, Ljava/lang/Thread;->isAlive()Z
move-result v1
if-eqz v1, :cond_4d
.line 90
iget-object v1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mReadThread:Ljava/lang/Thread;
invoke-virtual {v1}, Ljava/lang/Thread;->interrupt()V
:try_end_4d
.catch Ljava/lang/Exception; {:try_start_3e .. :try_end_4d} :catch_52
.catchall {:try_start_3e .. :try_end_4d} :catchall_50
.line 95
:cond_4d
:goto_4d
:try_start_4d
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mReadThread:Ljava/lang/Thread;
:try_end_4f
.catchall {:try_start_4d .. :try_end_4f} :catchall_62
goto :goto_57
:catchall_50
move-exception v1
goto :goto_59
:catch_52
move-exception v1
.line 93
:try_start_53
invoke-virtual {v1}, Ljava/lang/Exception;->printStackTrace()V
:try_end_56
.catchall {:try_start_53 .. :try_end_56} :catchall_50
goto :goto_4d
.line 97
:goto_57
monitor-exit p0
return-void
.line 95
:goto_59
:try_start_59
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mReadThread:Ljava/lang/Thread;
throw v1
.line 85
:goto_5c
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteThread:Ljava/lang/Thread;
throw v1
.line 75
:goto_5f
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectThread:Ljava/lang/Thread;
throw v1
:try_end_62
.catchall {:try_start_59 .. :try_end_62} :catchall_62
:catchall_62
move-exception v0
monitor-exit p0
throw v0
.end method
.method public declared-synchronized onSocketExit(I)V
.registers 7
monitor-enter p0
.line 107
:try_start_1
iget v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->r_w_count:I
const/4 v1, 0x1
sub-int/2addr v0, v1
iput v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->r_w_count:I
if-gtz v0, :cond_b
move v0, v1
goto :goto_c
:cond_b
const/4 v0, 0x0
.line 109
:goto_c
sget-object v2, Ljava/lang/System;->out:Ljava/io/PrintStream;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
iget-object v4, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->TAG:Ljava/lang/String;
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v4, "onSocketExit mSocketId "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v4, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mSocketId:I
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v4, " exit_code "
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
if-ne p1, v1, :cond_2f
const-string p1, " onWrite"
goto :goto_31
:cond_2f
const-string p1, " onRead"
:goto_31
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p1, " isWriterReaderExit "
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v2, p1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
.line 110
invoke-virtual {p0}, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->close()V
if-eqz v0, :cond_4f
.line 112
iget-object p1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectStatusListener:Lcom/open/net/client/impl/udp/bio/UdpBioConnectListener;
if-eqz p1, :cond_4f
.line 113
invoke-interface {p1, p0}, Lcom/open/net/client/impl/udp/bio/UdpBioConnectListener;->onConnectFailed(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)V
:try_end_4f
.catchall {:try_start_1 .. :try_end_4f} :catchall_51
.line 116
:cond_4f
monitor-exit p0
return-void
:catchall_51
move-exception p1
monitor-exit p0
throw p1
.end method
.method public start()V
.registers 3
.line 55
new-instance v0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ConnectRunnable;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ConnectRunnable;-><init>(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$1;)V
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ConnectRunnable;
.line 56
new-instance v0, Ljava/lang/Thread;
iget-object v1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$ConnectRunnable;
invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
iput-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mConnectThread:Ljava/lang/Thread;
.line 57
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
return-void
.end method
.method public wakeUp()V
.registers 2
.line 100
iget-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mWriteProcessor:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;
if-eqz v0, :cond_7
.line 101
invoke-virtual {v0}, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;->wakeup()V
:cond_7
return-void
.end method