b.smali

.class final Lcom/subgraph/orchid/b/b;
.super Ljava/lang/Object;
.source "ConnectionCacheImpl.java"

# interfaces
.implements Ljava/lang/Runnable;


# instance fields
.field private synthetic bFt:Lcom/subgraph/orchid/b/a;


# direct methods
.method private constructor <init>(Lcom/subgraph/orchid/b/a;)V
    .registers 2

    .prologue
    .line 53
    iput-object p1, p0, Lcom/subgraph/orchid/b/b;->bFt:Lcom/subgraph/orchid/b/a;

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method synthetic constructor <init>(Lcom/subgraph/orchid/b/a;B)V
    .registers 3

    .prologue
    .line 53
    invoke-direct {p0, p1}, Lcom/subgraph/orchid/b/b;-><init>(Lcom/subgraph/orchid/b/a;)V

    return-void
.end method


# virtual methods
.method public final run()V
    .registers 9

    .prologue
    .line 55
    iget-object v0, p0, Lcom/subgraph/orchid/b/b;->bFt:Lcom/subgraph/orchid/b/a;

    invoke-static {v0}, Lcom/subgraph/orchid/b/a;->d(Lcom/subgraph/orchid/b/a;)Ljava/util/concurrent/ConcurrentMap;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/concurrent/ConcurrentMap;->values()Ljava/util/Collection;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v2

    :cond_e
    :goto_e
    invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_73

    invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/concurrent/Future;

    .line 56
    invoke-interface {v0}, Ljava/util/concurrent/Future;->isDone()Z

    move-result v1

    if-eqz v1, :cond_e

    .line 58
    :try_start_20
    invoke-interface {v0}, Ljava/util/concurrent/Future;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Lcom/subgraph/orchid/b/h;

    .line 1322
    iget-object v1, v0, Lcom/subgraph/orchid/b/h;->bFH:Ljava/util/concurrent/locks/ReentrantLock;

    invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantLock;->lock()V
    :try_end_2b
    .catch Ljava/lang/Exception; {:try_start_20 .. :try_end_2b} :catch_68

    .line 1324
    :try_start_2b
    iget-boolean v1, v0, Lcom/subgraph/orchid/b/h;->bCb:Z

    if-nez v1, :cond_6a

    iget-object v1, v0, Lcom/subgraph/orchid/b/h;->bFC:Ljava/util/Map;

    invoke-interface {v1}, Ljava/util/Map;->isEmpty()Z

    move-result v1

    if-eqz v1, :cond_6a

    invoke-virtual {v0}, Lcom/subgraph/orchid/b/h;->LP()J

    move-result-wide v4

    const-wide/32 v6, 0x493e0

    cmp-long v1, v4, v6

    if-lez v1, :cond_6a

    const/4 v1, 0x1

    .line 1325
    :goto_43
    if-eqz v1, :cond_62

    .line 1326
    sget-object v1, Lcom/subgraph/orchid/b/h;->logger:Ljava/util/logging/Logger;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Closing connection to "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;

    move-result-object v3

    const-string v4, " on idle timeout"

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v1, v3}, Ljava/util/logging/Logger;->fine(Ljava/lang/String;)V

    .line 1327
    invoke-virtual {v0}, Lcom/subgraph/orchid/b/h;->LM()V
    :try_end_62
    .catchall {:try_start_2b .. :try_end_62} :catchall_6c

    .line 1330
    :cond_62
    :try_start_62
    iget-object v0, v0, Lcom/subgraph/orchid/b/h;->bFH:Ljava/util/concurrent/locks/ReentrantLock;

    invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V

    goto :goto_e

    :catch_68
    move-exception v0

    goto :goto_e

    .line 1324
    :cond_6a
    const/4 v1, 0x0

    goto :goto_43

    .line 1330
    :catchall_6c
    move-exception v1

    iget-object v0, v0, Lcom/subgraph/orchid/b/h;->bFH:Ljava/util/concurrent/locks/ReentrantLock;

    invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantLock;->unlock()V

    throw v1
    :try_end_73
    .catch Ljava/lang/Exception; {:try_start_62 .. :try_end_73} :catch_68

    .line 63
    :cond_73
    return-void
.end method