NativeByteBuffer.smali
.class public Lim/tpelyyftgw/tgnet/NativeByteBuffer;
.super Lim/tpelyyftgw/tgnet/AbstractSerializedData;
.source "NativeByteBuffer.java"
# static fields
.field private static final addressWrapper:Ljava/lang/ThreadLocal;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ThreadLocal<",
"Lim/tpelyyftgw/tgnet/NativeByteBuffer;",
">;"
}
.end annotation
.end field
# instance fields
.field protected address:J
.field public buffer:Ljava/nio/ByteBuffer;
.field private justCalc:Z
.field private len:I
.field public reused:Z
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 17
new-instance v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer$1;
invoke-direct {v0}, Lim/tpelyyftgw/tgnet/NativeByteBuffer$1;-><init>()V
sput-object v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->addressWrapper:Ljava/lang/ThreadLocal;
return-void
.end method
.method public constructor <init>(I)V
.registers 7
.param p1, "size" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 49
invoke-direct {p0}, Lim/tpelyyftgw/tgnet/AbstractSerializedData;-><init>()V
.line 15
const/4 v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->reused:Z
.line 50
if-ltz p1, :cond_2b
.line 51
invoke-static {p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->native_getFreeBuffer(I)J
move-result-wide v0
iput-wide v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->address:J
.line 52
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_2a
.line 53
invoke-static {v0, v1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->native_getJavaByteBuffer(J)Ljava/nio/ByteBuffer;
move-result-object v0
iput-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
.line 54
const/4 v1, 0x0
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 55
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 56
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
sget-object v1, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 61
:cond_2a
return-void
.line 59
:cond_2b
new-instance v0, Ljava/lang/Exception;
const-string v1, "invalid NativeByteBuffer size"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method private constructor <init>(IZ)V
.registers 4
.param p1, "address" # I
.param p2, "wrap" # Z
.line 45
invoke-direct {p0}, Lim/tpelyyftgw/tgnet/AbstractSerializedData;-><init>()V
.line 15
const/4 v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->reused:Z
.line 47
return-void
.end method
.method synthetic constructor <init>(IZLim/tpelyyftgw/tgnet/NativeByteBuffer$1;)V
.registers 4
.param p1, "x0" # I
.param p2, "x1" # Z
.param p3, "x2" # Lim/tpelyyftgw/tgnet/NativeByteBuffer$1;
.line 9
invoke-direct {p0, p1, p2}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;-><init>(IZ)V
return-void
.end method
.method public constructor <init>(Z)V
.registers 3
.param p1, "calculate" # Z
.line 63
invoke-direct {p0}, Lim/tpelyyftgw/tgnet/AbstractSerializedData;-><init>()V
.line 15
const/4 v0, 0x1
iput-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->reused:Z
.line 64
iput-boolean p1, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
.line 65
return-void
.end method
.method public static native native_getFreeBuffer(I)J
.end method
.method public static native native_getJavaByteBuffer(J)Ljava/nio/ByteBuffer;
.end method
.method public static native native_limit(J)I
.end method
.method public static native native_position(J)I
.end method
.method public static native native_reuse(J)V
.end method
.method public static wrap(J)Lim/tpelyyftgw/tgnet/NativeByteBuffer;
.registers 6
.param p0, "address" # J
.line 25
sget-object v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->addressWrapper:Ljava/lang/ThreadLocal;
invoke-virtual {v0}, Ljava/lang/ThreadLocal;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;
.line 26
.local v0, "result":Lim/tpelyyftgw/tgnet/NativeByteBuffer;
const-wide/16 v1, 0x0
cmp-long v3, p0, v1
if-eqz v3, :cond_45
.line 27
iget-boolean v1, v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->reused:Z
if-nez v1, :cond_1b
.line 28
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_1b
.line 29
const-string v1, "forgot to reuse?"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 32
:cond_1b
iput-wide p0, v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->address:J
.line 33
const/4 v1, 0x0
iput-boolean v1, v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->reused:Z
.line 34
invoke-static {p0, p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->native_getJavaByteBuffer(J)Ljava/nio/ByteBuffer;
move-result-object v1
iput-object v1, v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
.line 35
invoke-static {p0, p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->native_limit(J)I
move-result v2
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 36
invoke-static {p0, p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->native_position(J)I
move-result v1
.line 37
.local v1, "position":I
iget-object v2, v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v2}, Ljava/nio/ByteBuffer;->limit()I
move-result v2
if-gt v1, v2, :cond_3e
.line 38
iget-object v2, v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v2, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 40
:cond_3e
iget-object v2, v0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
sget-object v3, Ljava/nio/ByteOrder;->LITTLE_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v2, v3}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 42
.end local v1 # "position":I
:cond_45
return-object v0
.end method
# virtual methods
.method public capacity()I
.registers 2
.line 76
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->capacity()I
move-result v0
return v0
.end method
.method public compact()V
.registers 2
.line 100
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->compact()Ljava/nio/ByteBuffer;
.line 101
return-void
.end method
.method public getIntFromByte(B)I
.registers 3
.param p1, "b" # B
.line 340
if-ltz p1, :cond_4
move v0, p1
goto :goto_6
:cond_4
add-int/lit16 v0, p1, 0x100
:goto_6
return v0
.end method
.method public getPosition()I
.registers 2
.line 362
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->position()I
move-result v0
return v0
.end method
.method public hasRemaining()Z
.registers 2
.line 104
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->hasRemaining()Z
move-result v0
return v0
.end method
.method public length()I
.registers 2
.line 344
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_b
.line 345
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->position()I
move-result v0
return v0
.line 347
:cond_b
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
return v0
.end method
.method public limit()I
.registers 2
.line 80
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->limit()I
move-result v0
return v0
.end method
.method public limit(I)V
.registers 3
.param p1, "limit" # I
.line 84
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 85
return-void
.end method
.method public position()I
.registers 2
.line 68
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->position()I
move-result v0
return v0
.end method
.method public position(I)V
.registers 3
.param p1, "position" # I
.line 72
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 73
return-void
.end method
.method public put(Ljava/nio/ByteBuffer;)V
.registers 3
.param p1, "buff" # Ljava/nio/ByteBuffer;
.line 88
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.line 89
return-void
.end method
.method public readBool(Z)Z
.registers 6
.param p1, "exception" # Z
.line 381
invoke-virtual {p0, p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->readInt32(Z)I
move-result v0
.line 382
.local v0, "consructor":I
const v1, -0x668d8a4b
if-ne v0, v1, :cond_b
.line 383
const/4 v1, 0x1
return v1
.line 384
:cond_b
const v1, -0x438668c9
const/4 v2, 0x0
if-ne v0, v1, :cond_12
.line 385
return v2
.line 387
:cond_12
const-string v1, "Not bool value!"
if-nez p1, :cond_1e
.line 390
sget-boolean v3, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v3, :cond_1d
.line 391
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 394
:cond_1d
return v2
.line 388
:cond_1e
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v2
.end method
.method public readByteArray(Z)[B
.registers 7
.param p1, "exception" # Z
.line 478
const/4 v0, 0x1
.line 479
.local v0, "sl":I
:try_start_1
iget-object v1, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->get()B
move-result v1
invoke-virtual {p0, v1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v1
.line 480
.local v1, "l":I
const/16 v2, 0xfe
if-lt v1, v2, :cond_35
.line 481
iget-object v2, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v2}, Ljava/nio/ByteBuffer;->get()B
move-result v2
invoke-virtual {p0, v2}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v2
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->get()B
move-result v3
invoke-virtual {p0, v3}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v3
shl-int/lit8 v3, v3, 0x8
or-int/2addr v2, v3
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->get()B
move-result v3
invoke-virtual {p0, v3}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v3
shl-int/lit8 v3, v3, 0x10
or-int v1, v2, v3
.line 482
const/4 v0, 0x4
.line 484
:cond_35
new-array v2, v1, [B
.line 485
.local v2, "b":[B
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3, v2}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
.line 486
move v3, v0
.line 487
.local v3, "i":I
:goto_3d
add-int v4, v1, v3
rem-int/lit8 v4, v4, 0x4
if-eqz v4, :cond_4b
.line 488
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->get()B
:try_end_48
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_48} :catch_4c
.line 489
add-int/lit8 v3, v3, 0x1
goto :goto_3d
.line 491
:cond_4b
return-object v2
.line 492
.end local v0 # "sl":I
.end local v1 # "l":I
.end local v2 # "b":[B
.end local v3 # "i":I
:catch_4c
move-exception v0
.line 493
.local v0, "e":Ljava/lang/Exception;
const-string/jumbo v1, "read byte array error"
if-nez p1, :cond_5d
.line 496
sget-boolean v2, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v2, :cond_59
.line 497
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 501
.end local v0 # "e":Ljava/lang/Exception;
:cond_59
const/4 v0, 0x0
new-array v0, v0, [B
return-object v0
.line 494
.restart local v0 # "e":Ljava/lang/Exception;
:cond_5d
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_64
:goto_63
throw v2
:goto_64
goto :goto_63
.end method
.method public readByteBuffer(Z)Lim/tpelyyftgw/tgnet/NativeByteBuffer;
.registers 8
.param p1, "exception" # Z
.line 506
const/4 v0, 0x1
.line 507
.local v0, "sl":I
:try_start_1
iget-object v1, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->get()B
move-result v1
invoke-virtual {p0, v1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v1
.line 508
.local v1, "l":I
const/16 v2, 0xfe
if-lt v1, v2, :cond_35
.line 509
iget-object v2, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v2}, Ljava/nio/ByteBuffer;->get()B
move-result v2
invoke-virtual {p0, v2}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v2
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->get()B
move-result v3
invoke-virtual {p0, v3}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v3
shl-int/lit8 v3, v3, 0x8
or-int/2addr v2, v3
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->get()B
move-result v3
invoke-virtual {p0, v3}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v3
shl-int/lit8 v3, v3, 0x10
or-int v1, v2, v3
.line 510
const/4 v0, 0x4
.line 512
:cond_35
new-instance v2, Lim/tpelyyftgw/tgnet/NativeByteBuffer;
invoke-direct {v2, v1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;-><init>(I)V
.line 513
.local v2, "b":Lim/tpelyyftgw/tgnet/NativeByteBuffer;
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->limit()I
move-result v3
.line 514
.local v3, "old":I
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
iget-object v5, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->position()I
move-result v5
add-int/2addr v5, v1
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 515
iget-object v4, v2, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
iget-object v5, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.line 516
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v4, v3}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 517
iget-object v4, v2, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
const/4 v5, 0x0
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 518
move v4, v0
.line 519
.local v4, "i":I
:goto_5f
add-int v5, v1, v4
rem-int/lit8 v5, v5, 0x4
if-eqz v5, :cond_6d
.line 520
iget-object v5, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->get()B
:try_end_6a
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_6a} :catch_6e
.line 521
add-int/lit8 v4, v4, 0x1
goto :goto_5f
.line 523
:cond_6d
return-object v2
.line 524
.end local v0 # "sl":I
.end local v1 # "l":I
.end local v2 # "b":Lim/tpelyyftgw/tgnet/NativeByteBuffer;
.end local v3 # "old":I
.end local v4 # "i":I
:catch_6e
move-exception v0
.line 525
.local v0, "e":Ljava/lang/Exception;
const-string/jumbo v1, "read byte array error"
if-nez p1, :cond_7d
.line 528
sget-boolean v2, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v2, :cond_7b
.line 529
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 533
.end local v0 # "e":Ljava/lang/Exception;
:cond_7b
const/4 v0, 0x0
return-object v0
.line 526
.restart local v0 # "e":Ljava/lang/Exception;
:cond_7d
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_84
:goto_83
throw v2
:goto_84
goto :goto_83
.end method
.method public readBytes([BIIZ)V
.registers 8
.param p1, "b" # [B
.param p2, "offset" # I
.param p3, "count" # I
.param p4, "exception" # Z
.line 428
:try_start_0
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1, p2, p3}, Ljava/nio/ByteBuffer;->get([BII)Ljava/nio/ByteBuffer;
:try_end_5
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_5} :catch_6
.line 437
goto :goto_13
.line 429
:catch_6
move-exception v0
.line 430
.local v0, "e":Ljava/lang/Exception;
const-string/jumbo v1, "read raw error"
if-nez p4, :cond_14
.line 433
sget-boolean v2, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v2, :cond_13
.line 434
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 438
.end local v0 # "e":Ljava/lang/Exception;
:cond_13
:goto_13
return-void
.line 431
.restart local v0 # "e":Ljava/lang/Exception;
:cond_14
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method public readBytes([BZ)V
.registers 6
.param p1, "b" # [B
.param p2, "exception" # Z
.line 414
:try_start_0
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
:try_end_5
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_5} :catch_6
.line 423
goto :goto_13
.line 415
:catch_6
move-exception v0
.line 416
.local v0, "e":Ljava/lang/Exception;
const-string/jumbo v1, "read raw error"
if-nez p2, :cond_14
.line 419
sget-boolean v2, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v2, :cond_13
.line 420
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 424
.end local v0 # "e":Ljava/lang/Exception;
:cond_13
:goto_13
return-void
.line 417
.restart local v0 # "e":Ljava/lang/Exception;
:cond_14
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method public readData(IZ)[B
.registers 4
.param p1, "count" # I
.param p2, "exception" # Z
.line 441
new-array v0, p1, [B
.line 442
.local v0, "arr":[B
invoke-virtual {p0, v0, p2}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->readBytes([BZ)V
.line 443
return-object v0
.end method
.method public readDouble(Z)D
.registers 5
.param p1, "exception" # Z
.line 538
:try_start_0
invoke-virtual {p0, p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->readInt64(Z)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->longBitsToDouble(J)D
move-result-wide v0
:try_end_8
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_8} :catch_9
return-wide v0
.line 539
:catch_9
move-exception v0
.line 540
.local v0, "e":Ljava/lang/Exception;
const-string/jumbo v1, "read double error"
if-nez p1, :cond_19
.line 543
sget-boolean v2, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v2, :cond_16
.line 544
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 548
.end local v0 # "e":Ljava/lang/Exception;
:cond_16
const-wide/16 v0, 0x0
return-wide v0
.line 541
.restart local v0 # "e":Ljava/lang/Exception;
:cond_19
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method public readInt32(Z)I
.registers 5
.param p1, "exception" # Z
.line 367
:try_start_0
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->getInt()I
move-result v0
:try_end_6
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_6} :catch_7
return v0
.line 368
:catch_7
move-exception v0
.line 369
.local v0, "e":Ljava/lang/Exception;
const-string/jumbo v1, "read int32 error"
if-nez p1, :cond_16
.line 372
sget-boolean v2, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v2, :cond_14
.line 373
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 377
.end local v0 # "e":Ljava/lang/Exception;
:cond_14
const/4 v0, 0x0
return v0
.line 370
.restart local v0 # "e":Ljava/lang/Exception;
:cond_16
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method public readInt64(Z)J
.registers 5
.param p1, "exception" # Z
.line 399
:try_start_0
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->getLong()J
move-result-wide v0
:try_end_6
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_6} :catch_7
return-wide v0
.line 400
:catch_7
move-exception v0
.line 401
.local v0, "e":Ljava/lang/Exception;
const-string/jumbo v1, "read int64 error"
if-nez p1, :cond_17
.line 404
sget-boolean v2, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v2, :cond_14
.line 405
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 409
.end local v0 # "e":Ljava/lang/Exception;
:cond_14
const-wide/16 v0, 0x0
return-wide v0
.line 402
.restart local v0 # "e":Ljava/lang/Exception;
:cond_17
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method public readString(Z)Ljava/lang/String;
.registers 9
.param p1, "exception" # Z
.line 447
invoke-virtual {p0}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getPosition()I
move-result v0
.line 449
.local v0, "startReadPosition":I
const/4 v1, 0x1
.line 450
.local v1, "sl":I
:try_start_5
iget-object v2, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v2}, Ljava/nio/ByteBuffer;->get()B
move-result v2
invoke-virtual {p0, v2}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v2
.line 451
.local v2, "l":I
const/16 v3, 0xfe
if-lt v2, v3, :cond_39
.line 452
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3}, Ljava/nio/ByteBuffer;->get()B
move-result v3
invoke-virtual {p0, v3}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v3
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->get()B
move-result v4
invoke-virtual {p0, v4}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v4
shl-int/lit8 v4, v4, 0x8
or-int/2addr v3, v4
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->get()B
move-result v4
invoke-virtual {p0, v4}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->getIntFromByte(B)I
move-result v4
shl-int/lit8 v4, v4, 0x10
or-int v2, v3, v4
.line 453
const/4 v1, 0x4
.line 455
:cond_39
new-array v3, v2, [B
.line 456
.local v3, "b":[B
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v4, v3}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
.line 457
move v4, v1
.line 458
.local v4, "i":I
:goto_41
add-int v5, v2, v4
rem-int/lit8 v5, v5, 0x4
if-eqz v5, :cond_4f
.line 459
iget-object v5, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v5}, Ljava/nio/ByteBuffer;->get()B
.line 460
add-int/lit8 v4, v4, 0x1
goto :goto_41
.line 462
:cond_4f
new-instance v5, Ljava/lang/String;
const-string v6, "UTF-8"
invoke-direct {v5, v3, v6}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
:try_end_56
.catch Ljava/lang/Exception; {:try_start_5 .. :try_end_56} :catch_57
return-object v5
.line 463
.end local v1 # "sl":I
.end local v2 # "l":I
.end local v3 # "b":[B
.end local v4 # "i":I
:catch_57
move-exception v1
.line 464
.local v1, "e":Ljava/lang/Exception;
const-string/jumbo v2, "read string error"
if-nez p1, :cond_6a
.line 467
sget-boolean v3, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v3, :cond_64
.line 468
invoke-static {v2}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 471
:cond_64
invoke-virtual {p0, v0}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->position(I)V
.line 473
.end local v1 # "e":Ljava/lang/Exception;
const-string v1, ""
return-object v1
.line 465
.restart local v1 # "e":Ljava/lang/Exception;
:cond_6a
new-instance v3, Ljava/lang/RuntimeException;
invoke-direct {v3, v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_71
:goto_70
throw v3
:goto_71
goto :goto_70
.end method
.method public remaining()I
.registers 2
.line 560
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->remaining()I
move-result v0
return v0
.end method
.method public reuse()V
.registers 6
.line 552
iget-wide v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->address:J
const-wide/16 v2, 0x0
cmp-long v4, v0, v2
if-eqz v4, :cond_e
.line 553
const/4 v2, 0x1
iput-boolean v2, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->reused:Z
.line 554
invoke-static {v0, v1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->native_reuse(J)V
.line 556
:cond_e
return-void
.end method
.method public rewind()V
.registers 2
.line 92
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-eqz v0, :cond_8
.line 93
const/4 v0, 0x0
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
goto :goto_d
.line 95
:cond_8
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
.line 97
:goto_d
return-void
.end method
.method public skip(I)V
.registers 4
.param p1, "count" # I
.line 351
if-nez p1, :cond_3
.line 352
return-void
.line 354
:cond_3
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_12
.line 355
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->position()I
move-result v1
add-int/2addr v1, p1
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
goto :goto_17
.line 357
:cond_12
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v0, p1
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
.line 359
:goto_17
return-void
.end method
.method public writeBool(Z)V
.registers 3
.param p1, "value" # Z
.line 136
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_14
.line 137
if-eqz p1, :cond_d
.line 138
const v0, -0x668d8a4b
invoke-virtual {p0, v0}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->writeInt32(I)V
goto :goto_1a
.line 140
:cond_d
const v0, -0x438668c9
invoke-virtual {p0, v0}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->writeInt32(I)V
goto :goto_1a
.line 143
:cond_14
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/lit8 v0, v0, 0x4
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
.line 145
:goto_1a
return-void
.end method
.method public writeByte(B)V
.registers 4
.param p1, "b" # B
.line 181
:try_start_0
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_a
.line 182
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_10
.line 184
:cond_a
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/lit8 v0, v0, 0x1
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
:try_end_10
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_10} :catch_11
.line 190
:goto_10
goto :goto_1c
.line 186
:catch_11
move-exception v0
.line 187
.local v0, "e":Ljava/lang/Exception;
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_1c
.line 188
const-string/jumbo v1, "write byte error"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 191
.end local v0 # "e":Ljava/lang/Exception;
:cond_1c
:goto_1c
return-void
.end method
.method public writeByte(I)V
.registers 3
.param p1, "i" # I
.line 176
int-to-byte v0, p1
invoke-virtual {p0, v0}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->writeByte(B)V
.line 177
return-void
.end method
.method public writeByteArray([B)V
.registers 7
.param p1, "b" # [B
.line 244
:try_start_0
array-length v0, p1
const/16 v1, 0xfd
const/4 v2, 0x4
const/4 v3, 0x1
if-gt v0, v1, :cond_19
.line 245
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_13
.line 246
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
array-length v4, p1
int-to-byte v4, v4
invoke-virtual {v0, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_42
.line 248
:cond_13
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v0, v3
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
goto :goto_42
.line 251
:cond_19
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_3d
.line 252
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
const/4 v4, -0x2
invoke-virtual {v0, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 253
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
array-length v4, p1
int-to-byte v4, v4
invoke-virtual {v0, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 254
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
array-length v4, p1
shr-int/lit8 v4, v4, 0x8
int-to-byte v4, v4
invoke-virtual {v0, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 255
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
array-length v4, p1
shr-int/lit8 v4, v4, 0x10
int-to-byte v4, v4
invoke-virtual {v0, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_42
.line 257
:cond_3d
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v0, v2
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
.line 260
:goto_42
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_4c
.line 261
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
goto :goto_52
.line 263
:cond_4c
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
array-length v4, p1
add-int/2addr v0, v4
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
.line 265
:goto_52
array-length v0, p1
if-gt v0, v1, :cond_57
const/4 v0, 0x1
goto :goto_58
:cond_57
const/4 v0, 0x4
.line 266
.local v0, "i":I
:goto_58
array-length v1, p1
add-int/2addr v1, v0
rem-int/2addr v1, v2
if-eqz v1, :cond_70
.line 267
iget-boolean v1, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v1, :cond_68
.line 268
iget-object v1, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
const/4 v4, 0x0
invoke-virtual {v1, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_6d
.line 270
:cond_68
iget v1, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v1, v3
iput v1, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
:try_end_6d
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_6d} :catch_71
.line 272
:goto_6d
add-int/lit8 v0, v0, 0x1
goto :goto_58
.line 278
.end local v0 # "i":I
:cond_70
goto :goto_7c
.line 274
:catch_71
move-exception v0
.line 275
.local v0, "e":Ljava/lang/Exception;
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_7c
.line 276
const-string/jumbo v1, "write byte array error"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 279
.end local v0 # "e":Ljava/lang/Exception;
:cond_7c
:goto_7c
return-void
.end method
.method public writeByteArray([BII)V
.registers 9
.param p1, "b" # [B
.param p2, "offset" # I
.param p3, "count" # I
.line 205
const/16 v0, 0xfd
const/4 v1, 0x4
const/4 v2, 0x1
if-gt p3, v0, :cond_17
.line 206
:try_start_6
iget-boolean v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v3, :cond_11
.line 207
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
int-to-byte v4, p3
invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_3d
.line 209
:cond_11
iget v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v3, v2
iput v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
goto :goto_3d
.line 212
:cond_17
iget-boolean v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v3, :cond_38
.line 213
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
const/4 v4, -0x2
invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 214
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
int-to-byte v4, p3
invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 215
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
shr-int/lit8 v4, p3, 0x8
int-to-byte v4, v4
invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 216
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
shr-int/lit8 v4, p3, 0x10
int-to-byte v4, v4
invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_3d
.line 218
:cond_38
iget v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v3, v1
iput v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
.line 221
:goto_3d
iget-boolean v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v3, :cond_47
.line 222
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v3, p1, p2, p3}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
goto :goto_4c
.line 224
:cond_47
iget v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v3, p3
iput v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
.line 226
:goto_4c
if-gt p3, v0, :cond_50
const/4 v0, 0x1
goto :goto_51
:cond_50
const/4 v0, 0x4
.line 227
.local v0, "i":I
:goto_51
add-int v3, p3, v0
rem-int/2addr v3, v1
if-eqz v3, :cond_69
.line 228
iget-boolean v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v3, :cond_61
.line 229
iget-object v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
const/4 v4, 0x0
invoke-virtual {v3, v4}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_66
.line 231
:cond_61
iget v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v3, v2
iput v3, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
:try_end_66
.catch Ljava/lang/Exception; {:try_start_6 .. :try_end_66} :catch_6a
.line 233
:goto_66
add-int/lit8 v0, v0, 0x1
goto :goto_51
.line 239
.end local v0 # "i":I
:cond_69
goto :goto_75
.line 235
:catch_6a
move-exception v0
.line 236
.local v0, "e":Ljava/lang/Exception;
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_75
.line 237
const-string/jumbo v1, "write byte array error"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 240
.end local v0 # "e":Ljava/lang/Exception;
:cond_75
:goto_75
return-void
.end method
.method public writeByteBuffer(Lim/tpelyyftgw/tgnet/NativeByteBuffer;)V
.registers 8
.param p1, "b" # Lim/tpelyyftgw/tgnet/NativeByteBuffer;
.line 293
:try_start_0
invoke-virtual {p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->limit()I
move-result v0
.line 294
.local v0, "l":I
const/16 v1, 0xfd
const/4 v2, 0x4
const/4 v3, 0x1
if-gt v0, v1, :cond_1b
.line 295
iget-boolean v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v4, :cond_15
.line 296
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
int-to-byte v5, v0
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_41
.line 298
:cond_15
iget v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v4, v3
iput v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
goto :goto_41
.line 301
:cond_1b
iget-boolean v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v4, :cond_3c
.line 302
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
const/4 v5, -0x2
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 303
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
int-to-byte v5, v0
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 304
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
shr-int/lit8 v5, v0, 0x8
int-to-byte v5, v5
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 305
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
shr-int/lit8 v5, v0, 0x10
int-to-byte v5, v5
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_41
.line 307
:cond_3c
iget v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v4, v2
iput v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
.line 310
:goto_41
iget-boolean v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v4, :cond_50
.line 311
invoke-virtual {p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->rewind()V
.line 312
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
iget-object v5, p1, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
goto :goto_55
.line 314
:cond_50
iget v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v4, v0
iput v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
.line 316
:goto_55
if-gt v0, v1, :cond_59
const/4 v1, 0x1
goto :goto_5a
:cond_59
const/4 v1, 0x4
.line 317
.local v1, "i":I
:goto_5a
add-int v4, v0, v1
rem-int/2addr v4, v2
if-eqz v4, :cond_72
.line 318
iget-boolean v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v4, :cond_6a
.line 319
iget-object v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
const/4 v5, 0x0
invoke-virtual {v4, v5}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
goto :goto_6f
.line 321
:cond_6a
iget v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v4, v3
iput v4, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
:try_end_6f
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_6f} :catch_73
.line 323
:goto_6f
add-int/lit8 v1, v1, 0x1
goto :goto_5a
.line 327
.end local v0 # "l":I
.end local v1 # "i":I
:cond_72
goto :goto_77
.line 325
:catch_73
move-exception v0
.line 326
.local v0, "e":Ljava/lang/Exception;
invoke-static {v0}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/Throwable;)V
.line 328
.end local v0 # "e":Ljava/lang/Exception;
:goto_77
return-void
.end method
.method public writeBytes(Lim/tpelyyftgw/tgnet/NativeByteBuffer;)V
.registers 4
.param p1, "b" # Lim/tpelyyftgw/tgnet/NativeByteBuffer;
.line 331
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-eqz v0, :cond_e
.line 332
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
invoke-virtual {p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->limit()I
move-result v1
add-int/2addr v0, v1
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
goto :goto_18
.line 334
:cond_e
invoke-virtual {p1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->rewind()V
.line 335
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
iget-object v1, p1, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.line 337
:goto_18
return-void
.end method
.method public writeBytes([B)V
.registers 4
.param p1, "b" # [B
.line 149
:try_start_0
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_a
.line 150
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
goto :goto_10
.line 152
:cond_a
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
array-length v1, p1
add-int/2addr v0, v1
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
:try_end_10
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_10} :catch_11
.line 158
:goto_10
goto :goto_1c
.line 154
:catch_11
move-exception v0
.line 155
.local v0, "e":Ljava/lang/Exception;
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_1c
.line 156
const-string/jumbo v1, "write raw error"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 159
.end local v0 # "e":Ljava/lang/Exception;
:cond_1c
:goto_1c
return-void
.end method
.method public writeBytes([BII)V
.registers 6
.param p1, "b" # [B
.param p2, "offset" # I
.param p3, "count" # I
.line 163
:try_start_0
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_a
.line 164
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1, p2, p3}, Ljava/nio/ByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
goto :goto_f
.line 166
:cond_a
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/2addr v0, p3
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
:try_end_f
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_f} :catch_10
.line 172
:goto_f
goto :goto_1b
.line 168
:catch_10
move-exception v0
.line 169
.local v0, "e":Ljava/lang/Exception;
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_1b
.line 170
const-string/jumbo v1, "write raw error"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 173
.end local v0 # "e":Ljava/lang/Exception;
:cond_1b
:goto_1b
return-void
.end method
.method public writeDouble(D)V
.registers 5
.param p1, "d" # D
.line 283
:try_start_0
invoke-static {p1, p2}, Ljava/lang/Double;->doubleToRawLongBits(D)J
move-result-wide v0
invoke-virtual {p0, v0, v1}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->writeInt64(J)V
:try_end_7
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_7} :catch_8
.line 288
goto :goto_13
.line 284
:catch_8
move-exception v0
.line 285
.local v0, "e":Ljava/lang/Exception;
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_13
.line 286
const-string/jumbo v1, "write double error"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 289
.end local v0 # "e":Ljava/lang/Exception;
:cond_13
:goto_13
return-void
.end method
.method public writeInt32(I)V
.registers 4
.param p1, "x" # I
.line 109
:try_start_0
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_a
.line 110
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1}, Ljava/nio/ByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
goto :goto_10
.line 112
:cond_a
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/lit8 v0, v0, 0x4
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
:try_end_10
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_10} :catch_11
.line 118
:goto_10
goto :goto_1c
.line 114
:catch_11
move-exception v0
.line 115
.local v0, "e":Ljava/lang/Exception;
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_1c
.line 116
const-string/jumbo v1, "write int32 error"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 119
.end local v0 # "e":Ljava/lang/Exception;
:cond_1c
:goto_1c
return-void
.end method
.method public writeInt64(J)V
.registers 5
.param p1, "x" # J
.line 123
:try_start_0
iget-boolean v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->justCalc:Z
if-nez v0, :cond_a
.line 124
iget-object v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->buffer:Ljava/nio/ByteBuffer;
invoke-virtual {v0, p1, p2}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
goto :goto_10
.line 126
:cond_a
iget v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
add-int/lit8 v0, v0, 0x8
iput v0, p0, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->len:I
:try_end_10
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_10} :catch_11
.line 132
:goto_10
goto :goto_1c
.line 128
:catch_11
move-exception v0
.line 129
.local v0, "e":Ljava/lang/Exception;
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_1c
.line 130
const-string/jumbo v1, "write int64 error"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 133
.end local v0 # "e":Ljava/lang/Exception;
:cond_1c
:goto_1c
return-void
.end method
.method public writeString(Ljava/lang/String;)V
.registers 4
.param p1, "s" # Ljava/lang/String;
.line 195
:try_start_0
const-string v0, "UTF-8"
invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p0, v0}, Lim/tpelyyftgw/tgnet/NativeByteBuffer;->writeByteArray([B)V
:try_end_9
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_9} :catch_a
.line 200
goto :goto_15
.line 196
:catch_a
move-exception v0
.line 197
.local v0, "e":Ljava/lang/Exception;
sget-boolean v1, Lim/tpelyyftgw/messenger/BuildVars;->LOGS_ENABLED:Z
if-eqz v1, :cond_15
.line 198
const-string/jumbo v1, "write string error"
invoke-static {v1}, Lim/tpelyyftgw/messenger/FileLog;->e(Ljava/lang/String;)V
.line 201
.end local v0 # "e":Ljava/lang/Exception;
:cond_15
:goto_15
return-void
.end method