.class public Lorg/apache/http/impl/conn/PoolingClientConnectionManager; .super Ljava/lang/Object; .source "PoolingClientConnectionManager.java" # interfaces .implements Lorg/apache/http/conn/ClientConnectionManager; .implements Lorg/apache/http/pool/ConnPoolControl; # annotations .annotation system Ldalvik/annotation/Signature; value = { "Ljava/lang/Object;", "Lorg/apache/http/conn/ClientConnectionManager;", "Lorg/apache/http/pool/ConnPoolControl<", "Lorg/apache/http/conn/routing/HttpRoute;", ">;" } .end annotation .annotation runtime Ljava/lang/Deprecated; .end annotation # instance fields .field private final dnsResolver:Lorg/apache/http/conn/DnsResolver; .field private final log:Lorg/apache/commons/logging/Log; .field private final operator:Lorg/apache/http/conn/ClientConnectionOperator; .field private final pool:Lorg/apache/http/impl/conn/HttpConnPool; .field private final schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry; # direct methods .method public constructor ()V .registers 2 .line 96 invoke-static {}, Lorg/apache/http/impl/conn/SchemeRegistryFactory;->createDefault()Lorg/apache/http/conn/scheme/SchemeRegistry; move-result-object v0 invoke-direct {p0, v0}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->(Lorg/apache/http/conn/scheme/SchemeRegistry;)V return-void .end method .method public constructor (Lorg/apache/http/conn/scheme/SchemeRegistry;)V .registers 5 const-wide/16 v0, -0x1 .line 88 sget-object v2, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; invoke-direct {p0, p1, v0, v1, v2}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->(Lorg/apache/http/conn/scheme/SchemeRegistry;JLjava/util/concurrent/TimeUnit;)V return-void .end method .method public constructor (Lorg/apache/http/conn/scheme/SchemeRegistry;JLjava/util/concurrent/TimeUnit;)V .registers 11 .line 102 new-instance v5, Lorg/apache/http/impl/conn/SystemDefaultDnsResolver; invoke-direct {v5}, Lorg/apache/http/impl/conn/SystemDefaultDnsResolver;->()V move-object v0, p0 move-object v1, p1 move-wide v2, p2 move-object v4, p4 invoke-direct/range {v0 .. v5}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->(Lorg/apache/http/conn/scheme/SchemeRegistry;JLjava/util/concurrent/TimeUnit;Lorg/apache/http/conn/DnsResolver;)V return-void .end method .method public constructor (Lorg/apache/http/conn/scheme/SchemeRegistry;JLjava/util/concurrent/TimeUnit;Lorg/apache/http/conn/DnsResolver;)V .registers 15 .line 108 invoke-direct {p0}, Ljava/lang/Object;->()V .line 76 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v0 invoke-static {v0}, Lorg/apache/commons/logging/LogFactory;->getLog(Ljava/lang/Class;)Lorg/apache/commons/logging/Log; move-result-object v2 iput-object v2, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; .line 109 const-string v0, "Scheme registry" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 110 const-string v0, "DNS resolver" invoke-static {p5, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 111 iput-object p1, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry; .line 112 iput-object p5, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->dnsResolver:Lorg/apache/http/conn/DnsResolver; .line 113 invoke-virtual {p0, p1}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator; move-result-object v3 iput-object v3, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->operator:Lorg/apache/http/conn/ClientConnectionOperator; .line 114 new-instance p1, Lorg/apache/http/impl/conn/HttpConnPool; const/4 v4, 0x2 const/16 v5, 0x14 move-object v1, p1 move-wide v6, p2 move-object v8, p4 invoke-direct/range {v1 .. v8}, Lorg/apache/http/impl/conn/HttpConnPool;->(Lorg/apache/commons/logging/Log;Lorg/apache/http/conn/ClientConnectionOperator;IIJLjava/util/concurrent/TimeUnit;)V iput-object p1, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; return-void .end method .method public constructor (Lorg/apache/http/conn/scheme/SchemeRegistry;Lorg/apache/http/conn/DnsResolver;)V .registers 9 const-wide/16 v2, -0x1 .line 92 sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; move-object v0, p0 move-object v1, p1 move-object v5, p2 invoke-direct/range {v0 .. v5}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->(Lorg/apache/http/conn/scheme/SchemeRegistry;JLjava/util/concurrent/TimeUnit;Lorg/apache/http/conn/DnsResolver;)V return-void .end method .method private format(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Ljava/lang/String; .registers 5 .line 148 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "[route: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 149 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, "]" invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; if-eqz p2, :cond_1f .line 151 const-string p1, "[state: " invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 153 :cond_1f invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method .method private format(Lorg/apache/http/impl/conn/HttpPoolEntry;)Ljava/lang/String; .registers 5 .line 169 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "[id: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 170 invoke-virtual {p1}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getId()Ljava/lang/String; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, "][route: " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 171 invoke-virtual {p1}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getRoute()Ljava/lang/Object; move-result-object v1 invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, "]" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 172 invoke-virtual {p1}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getState()Ljava/lang/Object; move-result-object p1 if-eqz p1, :cond_34 .line 174 const-string v1, "[state: " invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 176 :cond_34 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method .method private formatStats(Lorg/apache/http/conn/routing/HttpRoute;)Ljava/lang/String; .registers 6 .line 157 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "[total kept alive: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 158 iget-object v1, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v1}, Lorg/apache/http/impl/conn/HttpConnPool;->getTotalStats()Lorg/apache/http/pool/PoolStats; move-result-object v1 .line 159 iget-object v2, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v2, p1}, Lorg/apache/http/impl/conn/HttpConnPool;->getStats(Ljava/lang/Object;)Lorg/apache/http/pool/PoolStats; move-result-object p1 .line 160 invoke-virtual {v1}, Lorg/apache/http/pool/PoolStats;->getAvailable()I move-result v2 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v2 const-string v3, "; route allocated: " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 161 invoke-virtual {p1}, Lorg/apache/http/pool/PoolStats;->getLeased()I move-result v2 invoke-virtual {p1}, Lorg/apache/http/pool/PoolStats;->getAvailable()I move-result v3 add-int/2addr v2, v3 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; .line 162 const-string v2, " of " invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {p1}, Lorg/apache/http/pool/PoolStats;->getMax()I move-result p1 invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v3, "; total allocated: " invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 163 invoke-virtual {v1}, Lorg/apache/http/pool/PoolStats;->getLeased()I move-result p1 invoke-virtual {v1}, Lorg/apache/http/pool/PoolStats;->getAvailable()I move-result v3 add-int/2addr p1, v3 invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; .line 164 invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {v1}, Lorg/apache/http/pool/PoolStats;->getMax()I move-result v1 invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, "]" invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 165 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 return-object p1 .end method # virtual methods .method public closeExpiredConnections()V .registers 3 .line 301 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; const-string v1, "Closing expired connections" invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 302 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpConnPool;->closeExpired()V return-void .end method .method public closeIdleConnections(JLjava/util/concurrent/TimeUnit;)V .registers 7 .line 293 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v0 if-eqz v0, :cond_26 .line 294 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Closing connections idle longer than " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1, p2}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, " " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 296 :cond_26 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0, p1, p2, p3}, Lorg/apache/http/impl/conn/HttpConnPool;->closeIdle(JLjava/util/concurrent/TimeUnit;)V return-void .end method .method protected createConnectionOperator(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator; .registers 4 .line 139 new-instance v0, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator; iget-object v1, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->dnsResolver:Lorg/apache/http/conn/DnsResolver; invoke-direct {v0, p1, v1}, Lorg/apache/http/impl/conn/DefaultClientConnectionOperator;->(Lorg/apache/http/conn/scheme/SchemeRegistry;Lorg/apache/http/conn/DnsResolver;)V return-object v0 .end method .method protected finalize()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/Throwable; } .end annotation .line 120 :try_start_0 invoke-virtual {p0}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->shutdown()V :try_end_3 .catchall {:try_start_0 .. :try_end_3} :catchall_7 .line 122 invoke-super {p0}, Ljava/lang/Object;->finalize()V return-void :catchall_7 move-exception v0 invoke-super {p0}, Ljava/lang/Object;->finalize()V throw v0 .end method .method public getDefaultMaxPerRoute()I .registers 2 .line 317 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpConnPool;->getDefaultMaxPerRoute()I move-result v0 return v0 .end method .method public bridge synthetic getMaxPerRoute(Ljava/lang/Object;)I .registers 2 .line 72 check-cast p1, Lorg/apache/http/conn/routing/HttpRoute; invoke-virtual {p0, p1}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->getMaxPerRoute(Lorg/apache/http/conn/routing/HttpRoute;)I move-result p1 return p1 .end method .method public getMaxPerRoute(Lorg/apache/http/conn/routing/HttpRoute;)I .registers 3 .line 327 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/HttpConnPool;->getMaxPerRoute(Ljava/lang/Object;)I move-result p1 return p1 .end method .method public getMaxTotal()I .registers 2 .line 307 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpConnPool;->getMaxTotal()I move-result v0 return v0 .end method .method public getSchemeRegistry()Lorg/apache/http/conn/scheme/SchemeRegistry; .registers 2 .line 144 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry; return-object v0 .end method .method public bridge synthetic getStats(Ljava/lang/Object;)Lorg/apache/http/pool/PoolStats; .registers 2 .line 72 check-cast p1, Lorg/apache/http/conn/routing/HttpRoute; invoke-virtual {p0, p1}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->getStats(Lorg/apache/http/conn/routing/HttpRoute;)Lorg/apache/http/pool/PoolStats; move-result-object p1 return-object p1 .end method .method public getStats(Lorg/apache/http/conn/routing/HttpRoute;)Lorg/apache/http/pool/PoolStats; .registers 3 .line 342 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/HttpConnPool;->getStats(Ljava/lang/Object;)Lorg/apache/http/pool/PoolStats; move-result-object p1 return-object p1 .end method .method public getTotalStats()Lorg/apache/http/pool/PoolStats; .registers 2 .line 337 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpConnPool;->getTotalStats()Lorg/apache/http/pool/PoolStats; move-result-object v0 return-object v0 .end method .method leaseConnection(Ljava/util/concurrent/Future;JLjava/util/concurrent/TimeUnit;)Lorg/apache/http/conn/ManagedClientConnection; .registers 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/concurrent/Future<", "Lorg/apache/http/impl/conn/HttpPoolEntry;", ">;J", "Ljava/util/concurrent/TimeUnit;", ")", "Lorg/apache/http/conn/ManagedClientConnection;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/InterruptedException;, Lorg/apache/http/conn/ConnectionPoolTimeoutException; } .end annotation const-string v0, "Connection leased: " .line 213 :try_start_2 invoke-interface {p1, p2, p3, p4}, Ljava/util/concurrent/Future;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object; move-result-object p2 check-cast p2, Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz p2, :cond_52 .line 214 invoke-interface {p1}, Ljava/util/concurrent/Future;->isCancelled()Z move-result p1 if-nez p1, :cond_52 .line 217 invoke-virtual {p2}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object p1 if-eqz p1, :cond_18 const/4 p1, 0x1 goto :goto_19 :cond_18 const/4 p1, 0x0 :goto_19 const-string p3, "Pool entry with no connection" invoke-static {p1, p3}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 218 iget-object p1, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; invoke-interface {p1}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result p1 if-eqz p1, :cond_4a .line 219 iget-object p1, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; new-instance p3, Ljava/lang/StringBuilder; invoke-direct {p3, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-direct {p0, p2}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->format(Lorg/apache/http/impl/conn/HttpPoolEntry;)Ljava/lang/String; move-result-object p4 invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p2}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getRoute()Ljava/lang/Object; move-result-object p4 check-cast p4, Lorg/apache/http/conn/routing/HttpRoute; invoke-direct {p0, p4}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->formatStats(Lorg/apache/http/conn/routing/HttpRoute;)Ljava/lang/String; move-result-object p4 invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p3 invoke-interface {p1, p3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 221 :cond_4a new-instance p1, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl; iget-object p3, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->operator:Lorg/apache/http/conn/ClientConnectionOperator; invoke-direct {p1, p0, p3, p2}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/impl/conn/HttpPoolEntry;)V return-object p1 .line 215 :cond_52 new-instance p1, Ljava/lang/InterruptedException; invoke-direct {p1}, Ljava/lang/InterruptedException;->()V throw p1 :try_end_58 .catch Ljava/util/concurrent/ExecutionException; {:try_start_2 .. :try_end_58} :catch_60 .catch Ljava/util/concurrent/TimeoutException; {:try_start_2 .. :try_end_58} :catch_58 .line 231 :catch_58 new-instance p1, Lorg/apache/http/conn/ConnectionPoolTimeoutException; const-string p2, "Timeout waiting for connection from pool" invoke-direct {p1, p2}, Lorg/apache/http/conn/ConnectionPoolTimeoutException;->(Ljava/lang/String;)V throw p1 :catch_60 move-exception p1 .line 223 invoke-virtual {p1}, Ljava/util/concurrent/ExecutionException;->getCause()Ljava/lang/Throwable; move-result-object p2 if-nez p2, :cond_68 goto :goto_69 :cond_68 move-object p1, p2 .line 227 :goto_69 iget-object p2, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; const-string p3, "Unexpected exception leasing connection from pool" invoke-interface {p2, p3, p1}, Lorg/apache/commons/logging/Log;->error(Ljava/lang/Object;Ljava/lang/Throwable;)V .line 229 new-instance p1, Ljava/lang/InterruptedException; invoke-direct {p1}, Ljava/lang/InterruptedException;->()V throw p1 .end method .method public releaseConnection(Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V .registers 12 const-string v0, "Connection " const-string v1, "Connection released: " const-string v2, "for " .line 239 instance-of v3, p1, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl; const-string v4, "Connection class mismatch, connection not obtained from this manager" invoke-static {v3, v4}, Lorg/apache/http/util/Args;->check(ZLjava/lang/String;)V .line 241 check-cast p1, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl; .line 242 invoke-virtual {p1}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->getManager()Lorg/apache/http/conn/ClientConnectionManager; move-result-object v3 if-ne v3, p0, :cond_17 const/4 v3, 0x1 goto :goto_18 :cond_17 const/4 v3, 0x0 :goto_18 const-string v4, "Connection not obtained from this manager" invoke-static {v3, v4}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 243 monitor-enter p1 .line 244 :try_start_1e invoke-virtual {p1}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->detach()Lorg/apache/http/impl/conn/HttpPoolEntry; move-result-object v3 if-nez v3, :cond_26 .line 246 monitor-exit p1 :try_end_25 .catchall {:try_start_1e .. :try_end_25} :catchall_df return-void .line 249 :cond_26 :try_start_26 invoke-virtual {p1}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->isOpen()Z move-result v4 if-eqz v4, :cond_46 invoke-virtual {p1}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->isMarkedReusable()Z move-result v4 :try_end_30 .catchall {:try_start_26 .. :try_end_30} :catchall_d4 if-nez v4, :cond_46 .line 251 :try_start_32 invoke-virtual {p1}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->shutdown()V :try_end_35 .catch Ljava/io/IOException; {:try_start_32 .. :try_end_35} :catch_36 .catchall {:try_start_32 .. :try_end_35} :catchall_d4 goto :goto_46 :catch_36 move-exception v4 .line 253 :try_start_37 iget-object v5, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; invoke-interface {v5}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v5 if-eqz v5, :cond_46 .line 254 iget-object v5, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; const-string v6, "I/O exception shutting down released connection" invoke-interface {v5, v6, v4}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V .line 259 :cond_46 :goto_46 invoke-virtual {p1}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->isMarkedReusable()Z move-result v4 if-eqz v4, :cond_9d if-eqz p4, :cond_50 move-object v4, p4 goto :goto_52 .line 260 :cond_50 sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; :goto_52 invoke-virtual {v3, p2, p3, v4}, Lorg/apache/http/impl/conn/HttpPoolEntry;->updateExpiry(JLjava/util/concurrent/TimeUnit;)V .line 261 iget-object v4, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; invoke-interface {v4}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v4 if-eqz v4, :cond_9d const-wide/16 v4, 0x0 cmp-long v4, p2, v4 if-lez v4, :cond_7b .line 264 new-instance v4, Ljava/lang/StringBuilder; invoke-direct {v4, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v4, p2, p3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder; move-result-object p2 const-string p3, " " invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 goto :goto_7d .line 266 :cond_7b const-string p2, "indefinitely" .line 268 :goto_7d iget-object p3, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; new-instance p4, Ljava/lang/StringBuilder; invoke-direct {p4, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-direct {p0, v3}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->format(Lorg/apache/http/impl/conn/HttpPoolEntry;)Ljava/lang/String; move-result-object v0 invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p4 const-string v0, " can be kept alive " invoke-virtual {p4, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p4 invoke-virtual {p4, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p2 invoke-interface {p3, p2}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V :try_end_9d .catchall {:try_start_37 .. :try_end_9d} :catchall_d4 .line 272 :cond_9d :try_start_9d iget-object p2, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {p1}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->isMarkedReusable()Z move-result p3 invoke-virtual {p2, v3, p3}, Lorg/apache/http/impl/conn/HttpConnPool;->release(Lorg/apache/http/pool/PoolEntry;Z)V .line 274 iget-object p2, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; invoke-interface {p2}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result p2 if-eqz p2, :cond_d2 .line 275 iget-object p2, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; new-instance p3, Ljava/lang/StringBuilder; invoke-direct {p3, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-direct {p0, v3}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->format(Lorg/apache/http/impl/conn/HttpPoolEntry;)Ljava/lang/String; move-result-object p4 invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {v3}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getRoute()Ljava/lang/Object; move-result-object p4 check-cast p4, Lorg/apache/http/conn/routing/HttpRoute; invoke-direct {p0, p4}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->formatStats(Lorg/apache/http/conn/routing/HttpRoute;)Ljava/lang/String; move-result-object p4 invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p3 invoke-interface {p2, p3}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 277 :cond_d2 monitor-exit p1 return-void :catchall_d4 move-exception p2 .line 272 iget-object p3, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {p1}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->isMarkedReusable()Z move-result p4 invoke-virtual {p3, v3, p4}, Lorg/apache/http/impl/conn/HttpConnPool;->release(Lorg/apache/http/pool/PoolEntry;Z)V throw p2 :catchall_df move-exception p2 .line 277 monitor-exit p1 :try_end_e1 .catchall {:try_start_9d .. :try_end_e1} :catchall_df throw p2 .end method .method public requestConnection(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ClientConnectionRequest; .registers 6 .line 183 const-string v0, "HTTP route" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 184 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; invoke-interface {v0}, Lorg/apache/commons/logging/Log;->isDebugEnabled()Z move-result v0 if-eqz v0, :cond_2d .line 185 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Connection request: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-direct {p0, p1, p2}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->format(Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-direct {p0, p1}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->formatStats(Lorg/apache/http/conn/routing/HttpRoute;)Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 187 :cond_2d iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0, p1, p2}, Lorg/apache/http/impl/conn/HttpConnPool;->lease(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/Future; move-result-object p1 .line 189 new-instance p2, Lorg/apache/http/impl/conn/PoolingClientConnectionManager$1; invoke-direct {p2, p0, p1}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager$1;->(Lorg/apache/http/impl/conn/PoolingClientConnectionManager;Ljava/util/concurrent/Future;)V return-object p2 .end method .method public setDefaultMaxPerRoute(I)V .registers 3 .line 322 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/HttpConnPool;->setDefaultMaxPerRoute(I)V return-void .end method .method public bridge synthetic setMaxPerRoute(Ljava/lang/Object;I)V .registers 3 .line 72 check-cast p1, Lorg/apache/http/conn/routing/HttpRoute; invoke-virtual {p0, p1, p2}, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->setMaxPerRoute(Lorg/apache/http/conn/routing/HttpRoute;I)V return-void .end method .method public setMaxPerRoute(Lorg/apache/http/conn/routing/HttpRoute;I)V .registers 4 .line 332 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0, p1, p2}, Lorg/apache/http/impl/conn/HttpConnPool;->setMaxPerRoute(Ljava/lang/Object;I)V return-void .end method .method public setMaxTotal(I)V .registers 3 .line 312 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/HttpConnPool;->setMaxTotal(I)V return-void .end method .method public shutdown()V .registers 4 .line 282 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; const-string v1, "Connection manager is shutting down" invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V .line 284 :try_start_7 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->pool:Lorg/apache/http/impl/conn/HttpConnPool; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpConnPool;->shutdown()V :try_end_c .catch Ljava/io/IOException; {:try_start_7 .. :try_end_c} :catch_d goto :goto_15 :catch_d move-exception v0 .line 286 iget-object v1, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; const-string v2, "I/O exception shutting down connection manager" invoke-interface {v1, v2, v0}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;Ljava/lang/Throwable;)V .line 288 :goto_15 iget-object v0, p0, Lorg/apache/http/impl/conn/PoolingClientConnectionManager;->log:Lorg/apache/commons/logging/Log; const-string v1, "Connection manager shut down" invoke-interface {v0, v1}, Lorg/apache/commons/logging/Log;->debug(Ljava/lang/Object;)V return-void .end method