UdpBioReadWriteProcessor$WriteRunnable.smali
.class Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;
.super Ljava/lang/Object;
.source "UdpBioReadWriteProcessor.java"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x2
name = "WriteRunnable"
.end annotation
# instance fields
.field private final lock:Ljava/lang/Object;
.field final synthetic this$0:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;
# direct methods
.method private constructor <init>(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)V
.registers 2
.line 162
iput-object p1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;->this$0:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 164
new-instance p1, Ljava/lang/Object;
invoke-direct {p1}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;->lock:Ljava/lang/Object;
return-void
.end method
.method synthetic constructor <init>(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$1;)V
.registers 3
.line 162
invoke-direct {p0, p1}, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;-><init>(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)V
return-void
.end method
# virtual methods
.method public run()V
.registers 3
.line 175
:goto_0
:try_start_0
iget-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;->this$0:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;
# getter for: Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->mClient:Lcom/open/net/client/structures/BaseClient;
invoke-static {v0}, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->access$100(Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;)Lcom/open/net/client/structures/BaseClient;
move-result-object v0
invoke-virtual {v0}, Lcom/open/net/client/structures/BaseClient;->onWrite()Z
move-result v0
if-nez v0, :cond_d
goto :goto_1e
.line 178
:cond_d
iget-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;->lock:Ljava/lang/Object;
monitor-enter v0
:try_end_10
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_10} :catch_1a
.line 179
:try_start_10
iget-object v1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;->lock:Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->wait()V
.line 180
monitor-exit v0
goto :goto_0
:catchall_17
move-exception v1
monitor-exit v0
:try_end_19
.catchall {:try_start_10 .. :try_end_19} :catchall_17
:try_start_19
throw v1
:try_end_1a
.catch Ljava/lang/Exception; {:try_start_19 .. :try_end_1a} :catch_1a
:catch_1a
move-exception v0
.line 183
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
.line 186
:goto_1e
iget-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;->this$0:Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;
const/4 v1, 0x1
invoke-virtual {v0, v1}, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor;->onSocketExit(I)V
return-void
.end method
.method public wakeup()V
.registers 3
.line 167
iget-object v0, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;->lock:Ljava/lang/Object;
monitor-enter v0
.line 168
:try_start_3
iget-object v1, p0, Lcom/open/net/client/impl/udp/bio/processor/UdpBioReadWriteProcessor$WriteRunnable;->lock:Ljava/lang/Object;
invoke-virtual {v1}, Ljava/lang/Object;->notifyAll()V
.line 169
monitor-exit v0
return-void
:catchall_a
move-exception v1
monitor-exit v0
:try_end_c
.catchall {:try_start_3 .. :try_end_c} :catchall_a
throw v1
.end method