.class Lorg/apache/http/impl/conn/ManagedClientConnectionImpl; .super Ljava/lang/Object; .source "ManagedClientConnectionImpl.java" # interfaces .implements Lorg/apache/http/conn/ManagedClientConnection; # annotations .annotation runtime Ljava/lang/Deprecated; .end annotation # instance fields .field private volatile duration:J .field private final manager:Lorg/apache/http/conn/ClientConnectionManager; .field private final operator:Lorg/apache/http/conn/ClientConnectionOperator; .field private volatile poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; .field private volatile reusable:Z # direct methods .method constructor (Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/impl/conn/HttpPoolEntry;)V .registers 5 .line 73 invoke-direct {p0}, Ljava/lang/Object;->()V .line 74 const-string v0, "Connection manager" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 75 const-string v0, "Connection operator" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 76 const-string v0, "HTTP pool entry" invoke-static {p3, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 77 iput-object p1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->manager:Lorg/apache/http/conn/ClientConnectionManager; .line 78 iput-object p2, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->operator:Lorg/apache/http/conn/ClientConnectionOperator; .line 79 iput-object p3, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; const/4 p1, 0x0 .line 80 iput-boolean p1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->reusable:Z const-wide p1, 0x7fffffffffffffffL .line 81 iput-wide p1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->duration:J return-void .end method .method private ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; .registers 2 .line 112 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz v0, :cond_b .line 116 invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object v0 check-cast v0, Lorg/apache/http/conn/OperatedClientConnection; return-object v0 .line 114 :cond_b new-instance v0, Lorg/apache/http/impl/conn/ConnectionShutdownException; invoke-direct {v0}, Lorg/apache/http/impl/conn/ConnectionShutdownException;->()V throw v0 .end method .method private ensurePoolEntry()Lorg/apache/http/impl/conn/HttpPoolEntry; .registers 2 .line 120 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz v0, :cond_5 return-object v0 .line 122 :cond_5 new-instance v0, Lorg/apache/http/impl/conn/ConnectionShutdownException; invoke-direct {v0}, Lorg/apache/http/impl/conn/ConnectionShutdownException;->()V throw v0 .end method .method private getConnection()Lorg/apache/http/conn/OperatedClientConnection; .registers 2 .line 104 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-nez v0, :cond_6 const/4 v0, 0x0 return-object v0 .line 108 :cond_6 invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object v0 check-cast v0, Lorg/apache/http/conn/OperatedClientConnection; return-object v0 .end method # virtual methods .method public abortConnection()V .registers 5 .line 479 monitor-enter p0 .line 480 :try_start_1 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-nez v0, :cond_7 .line 481 monitor-exit p0 return-void :cond_7 const/4 v0, 0x0 .line 483 iput-boolean v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->reusable:Z .line 484 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object v0 check-cast v0, Lorg/apache/http/conn/OperatedClientConnection; :try_end_12 .catchall {:try_start_1 .. :try_end_12} :catchall_23 .line 486 :try_start_12 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->shutdown()V :try_end_15 .catch Ljava/io/IOException; {:try_start_12 .. :try_end_15} :catch_15 .catchall {:try_start_12 .. :try_end_15} :catchall_23 .line 489 :catch_15 :try_start_15 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->manager:Lorg/apache/http/conn/ClientConnectionManager; iget-wide v1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->duration:J sget-object v3, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; invoke-interface {v0, p0, v1, v2, v3}, Lorg/apache/http/conn/ClientConnectionManager;->releaseConnection(Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V const/4 v0, 0x0 .line 490 iput-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; .line 491 monitor-exit p0 return-void :catchall_23 move-exception v0 monitor-exit p0 :try_end_25 .catchall {:try_start_15 .. :try_end_25} :catchall_23 throw v0 .end method .method public bind(Ljava/net/Socket;)V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 256 new-instance p1, Ljava/lang/UnsupportedOperationException; invoke-direct {p1}, Ljava/lang/UnsupportedOperationException;->()V throw p1 .end method .method public close()V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 129 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz v0, :cond_14 .line 131 invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object v1 check-cast v1, Lorg/apache/http/conn/OperatedClientConnection; .line 132 invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object v0 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->reset()V .line 133 invoke-interface {v1}, Lorg/apache/http/conn/OperatedClientConnection;->close()V :cond_14 return-void .end method .method detach()Lorg/apache/http/impl/conn/HttpPoolEntry; .registers 3 .line 94 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; const/4 v1, 0x0 .line 95 iput-object v1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; return-object v0 .end method .method public flush()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 187 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 188 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->flush()V return-void .end method .method public getAttribute(Ljava/lang/String;)Ljava/lang/Object; .registers 4 .line 277 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 278 instance-of v1, v0, Lorg/apache/http/protocol/HttpContext; if-eqz v1, :cond_f .line 279 check-cast v0, Lorg/apache/http/protocol/HttpContext; invoke-interface {v0, p1}, Lorg/apache/http/protocol/HttpContext;->getAttribute(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 return-object p1 :cond_f const/4 p1, 0x0 return-object p1 .end method .method public getId()Ljava/lang/String; .registers 2 const/4 v0, 0x0 return-object v0 .end method .method public getLocalAddress()Ljava/net/InetAddress; .registers 2 .line 226 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 227 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getLocalAddress()Ljava/net/InetAddress; move-result-object v0 return-object v0 .end method .method public getLocalPort()I .registers 2 .line 232 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 233 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getLocalPort()I move-result v0 return v0 .end method .method public getManager()Lorg/apache/http/conn/ClientConnectionManager; .registers 2 .line 100 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->manager:Lorg/apache/http/conn/ClientConnectionManager; return-object v0 .end method .method public getMetrics()Lorg/apache/http/HttpConnectionMetrics; .registers 2 .line 181 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 182 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getMetrics()Lorg/apache/http/HttpConnectionMetrics; move-result-object v0 return-object v0 .end method .method getPoolEntry()Lorg/apache/http/impl/conn/HttpPoolEntry; .registers 2 .line 90 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; return-object v0 .end method .method public getRemoteAddress()Ljava/net/InetAddress; .registers 2 .line 238 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 239 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getRemoteAddress()Ljava/net/InetAddress; move-result-object v0 return-object v0 .end method .method public getRemotePort()I .registers 2 .line 244 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 245 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getRemotePort()I move-result v0 return v0 .end method .method public getRoute()Lorg/apache/http/conn/routing/HttpRoute; .registers 2 .line 303 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensurePoolEntry()Lorg/apache/http/impl/conn/HttpPoolEntry; move-result-object v0 .line 304 invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getEffectiveRoute()Lorg/apache/http/conn/routing/HttpRoute; move-result-object v0 return-object v0 .end method .method public getSSLSession()Ljavax/net/ssl/SSLSession; .registers 3 .line 267 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 269 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getSocket()Ljava/net/Socket; move-result-object v0 .line 270 instance-of v1, v0, Ljavax/net/ssl/SSLSocket; if-eqz v1, :cond_13 .line 271 check-cast v0, Ljavax/net/ssl/SSLSocket; invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;->getSession()Ljavax/net/ssl/SSLSession; move-result-object v0 goto :goto_14 :cond_13 const/4 v0, 0x0 :goto_14 return-object v0 .end method .method public getSocket()Ljava/net/Socket; .registers 2 .line 261 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 262 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getSocket()Ljava/net/Socket; move-result-object v0 return-object v0 .end method .method public getSocketTimeout()I .registers 2 .line 175 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 176 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getSocketTimeout()I move-result v0 return v0 .end method .method public getState()Ljava/lang/Object; .registers 2 .line 432 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensurePoolEntry()Lorg/apache/http/impl/conn/HttpPoolEntry; move-result-object v0 .line 433 invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getState()Ljava/lang/Object; move-result-object v0 return-object v0 .end method .method public isMarkedReusable()Z .registers 2 .line 454 iget-boolean v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->reusable:Z return v0 .end method .method public isOpen()Z .registers 2 .line 149 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->getConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 if-eqz v0, :cond_b .line 151 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->isOpen()Z move-result v0 return v0 :cond_b const/4 v0, 0x0 return v0 .end method .method public isResponseAvailable(I)Z .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 193 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 194 invoke-interface {v0, p1}, Lorg/apache/http/conn/OperatedClientConnection;->isResponseAvailable(I)Z move-result p1 return p1 .end method .method public isSecure()Z .registers 2 .line 250 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 251 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->isSecure()Z move-result v0 return v0 .end method .method public isStale()Z .registers 2 .line 159 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->getConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 if-eqz v0, :cond_b .line 161 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->isStale()Z move-result v0 return v0 :cond_b const/4 v0, 0x1 return v0 .end method .method public layerProtocol(Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 404 const-string v0, "HTTP parameters" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 407 monitor-enter p0 .line 408 :try_start_6 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz v0, :cond_61 .line 411 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object v0 .line 412 const-string v1, "Route tracker" invoke-static {v0, v1}, Lorg/apache/http/util/Asserts;->notNull(Ljava/lang/Object;Ljava/lang/String;)V .line 413 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isConnected()Z move-result v1 const-string v2, "Connection not open" invoke-static {v1, v2}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 414 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isTunnelled()Z move-result v1 const-string v2, "Protocol layering without a tunnel not supported" invoke-static {v1, v2}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 415 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isLayered()Z move-result v1 xor-int/lit8 v1, v1, 0x1 const-string v2, "Multiple protocol layering not supported" invoke-static {v1, v2}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 416 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v0 .line 417 iget-object v1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {v1}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object v1 check-cast v1, Lorg/apache/http/conn/OperatedClientConnection; .line 418 monitor-exit p0 :try_end_3f .catchall {:try_start_6 .. :try_end_3f} :catchall_67 .line 419 iget-object v2, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->operator:Lorg/apache/http/conn/ClientConnectionOperator; invoke-interface {v2, v1, v0, p1, p2}, Lorg/apache/http/conn/ClientConnectionOperator;->updateSecureConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V .line 421 monitor-enter p0 .line 422 :try_start_45 iget-object p1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz p1, :cond_58 .line 425 iget-object p1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {p1}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object p1 .line 426 invoke-interface {v1}, Lorg/apache/http/conn/OperatedClientConnection;->isSecure()Z move-result p2 invoke-virtual {p1, p2}, Lorg/apache/http/conn/routing/RouteTracker;->layerProtocol(Z)V .line 427 monitor-exit p0 return-void .line 423 :cond_58 new-instance p1, Ljava/io/InterruptedIOException; invoke-direct {p1}, Ljava/io/InterruptedIOException;->()V throw p1 :catchall_5e move-exception p1 .line 427 monitor-exit p0 :try_end_60 .catchall {:try_start_45 .. :try_end_60} :catchall_5e throw p1 .line 409 :cond_61 :try_start_61 new-instance p1, Lorg/apache/http/impl/conn/ConnectionShutdownException; invoke-direct {p1}, Lorg/apache/http/impl/conn/ConnectionShutdownException;->()V throw p1 :catchall_67 move-exception p1 .line 418 monitor-exit p0 :try_end_69 .catchall {:try_start_61 .. :try_end_69} :catchall_67 throw p1 .end method .method public markReusable()V .registers 2 const/4 v0, 0x1 .line 444 iput-boolean v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->reusable:Z return-void .end method .method public open(Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V .registers 12 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 312 const-string v0, "Route" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 313 const-string v0, "HTTP parameters" invoke-static {p3, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 315 monitor-enter p0 .line 316 :try_start_b iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz v0, :cond_6e .line 319 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object v0 .line 320 const-string v1, "Route tracker" invoke-static {v0, v1}, Lorg/apache/http/util/Asserts;->notNull(Ljava/lang/Object;Ljava/lang/String;)V .line 321 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isConnected()Z move-result v0 xor-int/lit8 v0, v0, 0x1 const-string v1, "Connection already open" invoke-static {v0, v1}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 322 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object v0 check-cast v0, Lorg/apache/http/conn/OperatedClientConnection; .line 323 monitor-exit p0 :try_end_2e .catchall {:try_start_b .. :try_end_2e} :catchall_74 .line 325 invoke-virtual {p1}, Lorg/apache/http/conn/routing/HttpRoute;->getProxyHost()Lorg/apache/http/HttpHost; move-result-object v7 .line 326 iget-object v1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->operator:Lorg/apache/http/conn/ClientConnectionOperator; if-eqz v7, :cond_38 move-object v3, v7 goto :goto_3d :cond_38 invoke-virtual {p1}, Lorg/apache/http/conn/routing/HttpRoute;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v2 move-object v3, v2 :goto_3d invoke-virtual {p1}, Lorg/apache/http/conn/routing/HttpRoute;->getLocalAddress()Ljava/net/InetAddress; move-result-object v4 move-object v2, v0 move-object v5, p2 move-object v6, p3 invoke-interface/range {v1 .. v6}, Lorg/apache/http/conn/ClientConnectionOperator;->openConnection(Lorg/apache/http/conn/OperatedClientConnection;Lorg/apache/http/HttpHost;Ljava/net/InetAddress;Lorg/apache/http/protocol/HttpContext;Lorg/apache/http/params/HttpParams;)V .line 332 monitor-enter p0 .line 333 :try_start_48 iget-object p1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz p1, :cond_65 .line 336 iget-object p1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {p1}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object p1 if-nez v7, :cond_5c .line 338 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->isSecure()Z move-result p2 invoke-virtual {p1, p2}, Lorg/apache/http/conn/routing/RouteTracker;->connectTarget(Z)V goto :goto_63 .line 340 :cond_5c invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->isSecure()Z move-result p2 invoke-virtual {p1, v7, p2}, Lorg/apache/http/conn/routing/RouteTracker;->connectProxy(Lorg/apache/http/HttpHost;Z)V .line 342 :goto_63 monitor-exit p0 return-void .line 334 :cond_65 new-instance p1, Ljava/io/InterruptedIOException; invoke-direct {p1}, Ljava/io/InterruptedIOException;->()V throw p1 :catchall_6b move-exception p1 .line 342 monitor-exit p0 :try_end_6d .catchall {:try_start_48 .. :try_end_6d} :catchall_6b throw p1 .line 317 :cond_6e :try_start_6e new-instance p1, Lorg/apache/http/impl/conn/ConnectionShutdownException; invoke-direct {p1}, Lorg/apache/http/impl/conn/ConnectionShutdownException;->()V throw p1 :catchall_74 move-exception p1 .line 323 monitor-exit p0 :try_end_76 .catchall {:try_start_6e .. :try_end_76} :catchall_74 throw p1 .end method .method public receiveResponseEntity(Lorg/apache/http/HttpResponse;)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 200 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 201 invoke-interface {v0, p1}, Lorg/apache/http/conn/OperatedClientConnection;->receiveResponseEntity(Lorg/apache/http/HttpResponse;)V return-void .end method .method public receiveResponseHeader()Lorg/apache/http/HttpResponse; .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 206 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 207 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->receiveResponseHeader()Lorg/apache/http/HttpResponse; move-result-object v0 return-object v0 .end method .method public releaseConnection()V .registers 5 .line 468 monitor-enter p0 .line 469 :try_start_1 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-nez v0, :cond_7 .line 470 monitor-exit p0 return-void .line 472 :cond_7 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->manager:Lorg/apache/http/conn/ClientConnectionManager; iget-wide v1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->duration:J sget-object v3, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit; invoke-interface {v0, p0, v1, v2, v3}, Lorg/apache/http/conn/ClientConnectionManager;->releaseConnection(Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V const/4 v0, 0x0 .line 473 iput-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; .line 474 monitor-exit p0 return-void :catchall_15 move-exception v0 monitor-exit p0 :try_end_17 .catchall {:try_start_1 .. :try_end_17} :catchall_15 throw v0 .end method .method public removeAttribute(Ljava/lang/String;)Ljava/lang/Object; .registers 4 .line 286 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 287 instance-of v1, v0, Lorg/apache/http/protocol/HttpContext; if-eqz v1, :cond_f .line 288 check-cast v0, Lorg/apache/http/protocol/HttpContext; invoke-interface {v0, p1}, Lorg/apache/http/protocol/HttpContext;->removeAttribute(Ljava/lang/String;)Ljava/lang/Object; move-result-object p1 return-object p1 :cond_f const/4 p1, 0x0 return-object p1 .end method .method public sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 213 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 214 invoke-interface {v0, p1}, Lorg/apache/http/conn/OperatedClientConnection;->sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V return-void .end method .method public sendRequestHeader(Lorg/apache/http/HttpRequest;)V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 220 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 221 invoke-interface {v0, p1}, Lorg/apache/http/conn/OperatedClientConnection;->sendRequestHeader(Lorg/apache/http/HttpRequest;)V return-void .end method .method public setAttribute(Ljava/lang/String;Ljava/lang/Object;)V .registers 5 .line 295 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 296 instance-of v1, v0, Lorg/apache/http/protocol/HttpContext; if-eqz v1, :cond_d .line 297 check-cast v0, Lorg/apache/http/protocol/HttpContext; invoke-interface {v0, p1, p2}, Lorg/apache/http/protocol/HttpContext;->setAttribute(Ljava/lang/String;Ljava/lang/Object;)V :cond_d return-void .end method .method public setIdleDuration(JLjava/util/concurrent/TimeUnit;)V .registers 6 const-wide/16 v0, 0x0 cmp-long v0, p1, v0 if-lez v0, :cond_d .line 460 invoke-virtual {p3, p1, p2}, Ljava/util/concurrent/TimeUnit;->toMillis(J)J move-result-wide p1 iput-wide p1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->duration:J goto :goto_11 :cond_d const-wide/16 p1, -0x1 .line 462 iput-wide p1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->duration:J :goto_11 return-void .end method .method public setSocketTimeout(I)V .registers 3 .line 169 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensureConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 170 invoke-interface {v0, p1}, Lorg/apache/http/conn/OperatedClientConnection;->setSocketTimeout(I)V return-void .end method .method public setState(Ljava/lang/Object;)V .registers 3 .line 438 invoke-direct {p0}, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->ensurePoolEntry()Lorg/apache/http/impl/conn/HttpPoolEntry; move-result-object v0 .line 439 invoke-virtual {v0, p1}, Lorg/apache/http/impl/conn/HttpPoolEntry;->setState(Ljava/lang/Object;)V return-void .end method .method public shutdown()V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 139 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz v0, :cond_14 .line 141 invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object v1 check-cast v1, Lorg/apache/http/conn/OperatedClientConnection; .line 142 invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object v0 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->reset()V .line 143 invoke-interface {v1}, Lorg/apache/http/conn/OperatedClientConnection;->shutdown()V :cond_14 return-void .end method .method public tunnelProxy(Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 377 const-string v0, "Next proxy" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 378 const-string v0, "HTTP parameters" invoke-static {p3, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 380 monitor-enter p0 .line 381 :try_start_b iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz v0, :cond_49 .line 384 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object v0 .line 385 const-string v1, "Route tracker" invoke-static {v0, v1}, Lorg/apache/http/util/Asserts;->notNull(Ljava/lang/Object;Ljava/lang/String;)V .line 386 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isConnected()Z move-result v0 const-string v1, "Connection not open" invoke-static {v0, v1}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 387 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object v0 check-cast v0, Lorg/apache/http/conn/OperatedClientConnection; .line 388 monitor-exit p0 :try_end_2c .catchall {:try_start_b .. :try_end_2c} :catchall_4f const/4 v1, 0x0 .line 390 invoke-interface {v0, v1, p1, p2, p3}, Lorg/apache/http/conn/OperatedClientConnection;->update(Ljava/net/Socket;Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V .line 392 monitor-enter p0 .line 393 :try_start_31 iget-object p3, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz p3, :cond_40 .line 396 iget-object p3, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {p3}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object p3 .line 397 invoke-virtual {p3, p1, p2}, Lorg/apache/http/conn/routing/RouteTracker;->tunnelProxy(Lorg/apache/http/HttpHost;Z)V .line 398 monitor-exit p0 return-void .line 394 :cond_40 new-instance p1, Ljava/io/InterruptedIOException; invoke-direct {p1}, Ljava/io/InterruptedIOException;->()V throw p1 :catchall_46 move-exception p1 .line 398 monitor-exit p0 :try_end_48 .catchall {:try_start_31 .. :try_end_48} :catchall_46 throw p1 .line 382 :cond_49 :try_start_49 new-instance p1, Lorg/apache/http/impl/conn/ConnectionShutdownException; invoke-direct {p1}, Lorg/apache/http/impl/conn/ConnectionShutdownException;->()V throw p1 :catchall_4f move-exception p1 .line 388 monitor-exit p0 :try_end_51 .catchall {:try_start_49 .. :try_end_51} :catchall_4f throw p1 .end method .method public tunnelTarget(ZLorg/apache/http/params/HttpParams;)V .registers 6 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 348 const-string v0, "HTTP parameters" invoke-static {p2, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 351 monitor-enter p0 .line 352 :try_start_6 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz v0, :cond_53 .line 355 iget-object v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {v0}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object v0 .line 356 const-string v1, "Route tracker" invoke-static {v0, v1}, Lorg/apache/http/util/Asserts;->notNull(Ljava/lang/Object;Ljava/lang/String;)V .line 357 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isConnected()Z move-result v1 const-string v2, "Connection not open" invoke-static {v1, v2}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 358 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->isTunnelled()Z move-result v1 xor-int/lit8 v1, v1, 0x1 const-string v2, "Connection is already tunnelled" invoke-static {v1, v2}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V .line 359 invoke-virtual {v0}, Lorg/apache/http/conn/routing/RouteTracker;->getTargetHost()Lorg/apache/http/HttpHost; move-result-object v0 .line 360 iget-object v1, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {v1}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getConnection()Ljava/lang/Object; move-result-object v1 check-cast v1, Lorg/apache/http/conn/OperatedClientConnection; .line 361 monitor-exit p0 :try_end_36 .catchall {:try_start_6 .. :try_end_36} :catchall_59 const/4 v2, 0x0 .line 363 invoke-interface {v1, v2, v0, p1, p2}, Lorg/apache/http/conn/OperatedClientConnection;->update(Ljava/net/Socket;Lorg/apache/http/HttpHost;ZLorg/apache/http/params/HttpParams;)V .line 365 monitor-enter p0 .line 366 :try_start_3b iget-object p2, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; if-eqz p2, :cond_4a .line 369 iget-object p2, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry; invoke-virtual {p2}, Lorg/apache/http/impl/conn/HttpPoolEntry;->getTracker()Lorg/apache/http/conn/routing/RouteTracker; move-result-object p2 .line 370 invoke-virtual {p2, p1}, Lorg/apache/http/conn/routing/RouteTracker;->tunnelTarget(Z)V .line 371 monitor-exit p0 return-void .line 367 :cond_4a new-instance p1, Ljava/io/InterruptedIOException; invoke-direct {p1}, Ljava/io/InterruptedIOException;->()V throw p1 :catchall_50 move-exception p1 .line 371 monitor-exit p0 :try_end_52 .catchall {:try_start_3b .. :try_end_52} :catchall_50 throw p1 .line 353 :cond_53 :try_start_53 new-instance p1, Lorg/apache/http/impl/conn/ConnectionShutdownException; invoke-direct {p1}, Lorg/apache/http/impl/conn/ConnectionShutdownException;->()V throw p1 :catchall_59 move-exception p1 .line 361 monitor-exit p0 :try_end_5b .catchall {:try_start_53 .. :try_end_5b} :catchall_59 throw p1 .end method .method public unmarkReusable()V .registers 2 const/4 v0, 0x0 .line 449 iput-boolean v0, p0, Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;->reusable:Z return-void .end method