UdpNioReadWriteProcessor.smali
.class public final Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;
.super Ljava/lang/Object;
.source "UdpNioReadWriteProcessor.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor$ConnectRunnable;
}
.end annotation
# static fields
.field private static G_SOCKET_ID:I
# instance fields
.field private TAG:Ljava/lang/String;
.field private closed:Z
.field private mClient:Lcom/open/net/client/structures/BaseClient;
.field private mConnectProcessor:Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor$ConnectRunnable;
.field private mConnectThread:Ljava/lang/Thread;
.field private mIp:Ljava/lang/String;
.field private mNioConnectListener:Lcom/open/net/client/impl/udp/nio/UdpNioConnectListener;
.field private mPort:I
.field private mSelector:Ljava/nio/channels/Selector;
.field private mSocketChannel:Ljava/nio/channels/DatagramChannel;
.field private mSocketId: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/nio/UdpNioConnectListener;)V
.registers 6
.line 41
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const-string v0, "UdpNioReadWriteProcessor"
.line 22
iput-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->TAG:Ljava/lang/String;
const-string v0, "192.168.1.1"
.line 27
iput-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mIp:Ljava/lang/String;
const/16 v0, 0x270f
.line 28
iput v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mPort:I
const/4 v0, 0x0
.line 37
iput-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mConnectThread:Ljava/lang/Thread;
const/4 v0, 0x0
.line 39
iput-boolean v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->closed:Z
.line 42
sget v0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->G_SOCKET_ID:I
add-int/lit8 v0, v0, 0x1
sput v0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->G_SOCKET_ID:I
.line 44
iput v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSocketId:I
.line 45
iput-object p1, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mIp:Ljava/lang/String;
.line 46
iput p2, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mPort:I
.line 47
iput-object p3, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mClient:Lcom/open/net/client/structures/BaseClient;
.line 48
iput-object p4, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mNioConnectListener:Lcom/open/net/client/impl/udp/nio/UdpNioConnectListener;
return-void
.end method
.method static synthetic access$100(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;)Ljava/nio/channels/Selector;
.registers 1
.line 20
iget-object p0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
return-object p0
.end method
.method static synthetic access$102(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;Ljava/nio/channels/Selector;)Ljava/nio/channels/Selector;
.registers 2
.line 20
iput-object p1, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
return-object p1
.end method
.method static synthetic access$200(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;)Ljava/nio/channels/DatagramChannel;
.registers 1
.line 20
iget-object p0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/DatagramChannel;
return-object p0
.end method
.method static synthetic access$202(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;Ljava/nio/channels/DatagramChannel;)Ljava/nio/channels/DatagramChannel;
.registers 2
.line 20
iput-object p1, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/DatagramChannel;
return-object p1
.end method
.method static synthetic access$300(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;)Ljava/lang/String;
.registers 1
.line 20
iget-object p0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mIp:Ljava/lang/String;
return-object p0
.end method
.method static synthetic access$400(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;)I
.registers 1
.line 20
iget p0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mPort:I
return p0
.end method
.method static synthetic access$500(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;)Lcom/open/net/client/structures/BaseClient;
.registers 1
.line 20
iget-object p0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mClient:Lcom/open/net/client/structures/BaseClient;
return-object p0
.end method
.method static synthetic access$600(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;)Lcom/open/net/client/impl/udp/nio/UdpNioConnectListener;
.registers 1
.line 20
iget-object p0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mNioConnectListener:Lcom/open/net/client/impl/udp/nio/UdpNioConnectListener;
return-object p0
.end method
.method static synthetic access$700(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;)Z
.registers 1
.line 20
iget-boolean p0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->closed:Z
return p0
.end method
# virtual methods
.method public declared-synchronized close()V
.registers 3
monitor-enter p0
const/4 v0, 0x1
.line 58
:try_start_2
iput-boolean v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->closed:Z
.line 60
iget-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/DatagramChannel;
:try_end_6
.catchall {:try_start_2 .. :try_end_6} :catchall_35
if-eqz v0, :cond_2b
.line 62
:try_start_8
iget-object v1, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-virtual {v0, v1}, Ljava/nio/channels/DatagramChannel;->keyFor(Ljava/nio/channels/Selector;)Ljava/nio/channels/SelectionKey;
move-result-object v0
if-eqz v0, :cond_13
.line 64
invoke-virtual {v0}, Ljava/nio/channels/SelectionKey;->cancel()V
.line 66
:cond_13
iget-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
invoke-virtual {v0}, Ljava/nio/channels/Selector;->close()V
.line 67
iget-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/DatagramChannel;
invoke-virtual {v0}, Ljava/nio/channels/DatagramChannel;->socket()Ljava/net/DatagramSocket;
move-result-object v0
invoke-virtual {v0}, Ljava/net/DatagramSocket;->close()V
.line 68
iget-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/DatagramChannel;
invoke-virtual {v0}, Ljava/nio/channels/DatagramChannel;->close()V
:try_end_26
.catch Ljava/io/IOException; {:try_start_8 .. :try_end_26} :catch_27
.catchall {:try_start_8 .. :try_end_26} :catchall_35
goto :goto_2b
:catch_27
move-exception v0
.line 70
:try_start_28
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
:cond_2b
:goto_2b
const/4 v0, 0x0
.line 73
iput-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSocketChannel:Ljava/nio/channels/DatagramChannel;
.line 74
iput-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSelector:Ljava/nio/channels/Selector;
.line 76
invoke-virtual {p0}, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->wakeUp()V
:try_end_33
.catchall {:try_start_28 .. :try_end_33} :catchall_35
.line 77
monitor-exit p0
return-void
:catchall_35
move-exception v0
monitor-exit p0
throw v0
.end method
.method public onSocketExit(I)V
.registers 5
.line 86
invoke-virtual {p0}, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->close()V
.line 87
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
iget-object v2, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->TAG:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "onSocketExit mSocketId "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v2, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mSocketId:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " exit_code "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-virtual {v0, p1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
.line 88
iget-object p1, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mNioConnectListener:Lcom/open/net/client/impl/udp/nio/UdpNioConnectListener;
if-eqz p1, :cond_2f
.line 89
invoke-interface {p1, p0}, Lcom/open/net/client/impl/udp/nio/UdpNioConnectListener;->onConnectFailed(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;)V
:cond_2f
return-void
.end method
.method public start()V
.registers 3
.line 52
new-instance v0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor$ConnectRunnable;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor$ConnectRunnable;-><init>(Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor$1;)V
iput-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mConnectProcessor:Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor$ConnectRunnable;
.line 53
new-instance v0, Ljava/lang/Thread;
iget-object v1, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mConnectProcessor:Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor$ConnectRunnable;
invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
iput-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mConnectThread:Ljava/lang/Thread;
.line 54
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
return-void
.end method
.method public wakeUp()V
.registers 2
.line 80
iget-object v0, p0, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor;->mConnectProcessor:Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor$ConnectRunnable;
if-eqz v0, :cond_7
.line 81
invoke-virtual {v0}, Lcom/open/net/client/impl/udp/nio/processor/UdpNioReadWriteProcessor$ConnectRunnable;->wakeUp()V
:cond_7
return-void
.end method