DTLSReliableHandshake$1.smali
.class Lorg/spongycastle/crypto/tls/DTLSReliableHandshake$1;
.super Ljava/lang/Object;
.source "DTLSReliableHandshake.java"
# interfaces
.implements Lorg/spongycastle/crypto/tls/DTLSHandshakeRetransmit;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->finish()V
.end annotation
# instance fields
.field final synthetic this$0:Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;
# direct methods
.method constructor <init>(Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;)V
.registers 2
.prologue
.line 236
iput-object p1, p0, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake$1;->this$0:Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public receivedHandshakeRecord(I[BII)V
.registers 12
.prologue
.line 244
const/16 v0, 0xc
if-ge p4, v0, :cond_5
.line 286
:cond_4
:goto_4
return-void
.line 248
:cond_5
add-int/lit8 v0, p3, 0x9
invoke-static {p2, v0}, Lorg/spongycastle/crypto/tls/TlsUtils;->readUint24([BI)I
move-result v6
.line 249
add-int/lit8 v0, v6, 0xc
if-ne p4, v0, :cond_4
.line 253
add-int/lit8 v0, p3, 0x4
invoke-static {p2, v0}, Lorg/spongycastle/crypto/tls/TlsUtils;->readUint16([BI)I
move-result v3
.line 254
iget-object v0, p0, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake$1;->this$0:Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;
# getter for: Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->next_receive_seq:I
invoke-static {v0}, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->access$100(Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;)I
move-result v0
if-ge v3, v0, :cond_4
.line 259
invoke-static {p2, p3}, Lorg/spongycastle/crypto/tls/TlsUtils;->readUint8([BI)S
move-result v1
.line 262
const/16 v0, 0x14
if-ne v1, v0, :cond_6b
const/4 v0, 0x1
.line 263
:goto_26
if-ne p1, v0, :cond_4
.line 268
add-int/lit8 v0, p3, 0x1
invoke-static {p2, v0}, Lorg/spongycastle/crypto/tls/TlsUtils;->readUint24([BI)I
move-result v2
.line 269
add-int/lit8 v0, p3, 0x6
invoke-static {p2, v0}, Lorg/spongycastle/crypto/tls/TlsUtils;->readUint24([BI)I
move-result v5
.line 270
add-int v0, v5, v6
if-gt v0, v2, :cond_4
.line 275
iget-object v0, p0, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake$1;->this$0:Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;
# getter for: Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->currentInboundFlight:Ljava/util/Hashtable;
invoke-static {v0}, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->access$200(Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;)Ljava/util/Hashtable;
move-result-object v0
invoke-static {v3}, Lorg/spongycastle/util/Integers;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/spongycastle/crypto/tls/DTLSReassembler;
.line 276
if-eqz v0, :cond_4
.line 278
add-int/lit8 v4, p3, 0xc
move-object v3, p2
invoke-virtual/range {v0 .. v6}, Lorg/spongycastle/crypto/tls/DTLSReassembler;->contributeFragment(SI[BIII)V
.line 280
iget-object v0, p0, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake$1;->this$0:Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;
# getter for: Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->currentInboundFlight:Ljava/util/Hashtable;
invoke-static {v0}, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->access$200(Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;)Ljava/util/Hashtable;
move-result-object v0
# invokes: Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->checkAll(Ljava/util/Hashtable;)Z
invoke-static {v0}, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->access$300(Ljava/util/Hashtable;)Z
move-result v0
if-eqz v0, :cond_4
.line 282
iget-object v0, p0, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake$1;->this$0:Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;
# invokes: Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->resendOutboundFlight()V
invoke-static {v0}, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->access$400(Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;)V
.line 283
iget-object v0, p0, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake$1;->this$0:Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;
# getter for: Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->currentInboundFlight:Ljava/util/Hashtable;
invoke-static {v0}, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->access$200(Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;)Ljava/util/Hashtable;
move-result-object v0
# invokes: Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->resetAll(Ljava/util/Hashtable;)V
invoke-static {v0}, Lorg/spongycastle/crypto/tls/DTLSReliableHandshake;->access$500(Ljava/util/Hashtable;)V
goto :goto_4
.line 262
:cond_6b
const/4 v0, 0x0
goto :goto_26
.end method