.class public abstract Lorg/apache/http/impl/conn/AbstractClientConnAdapter; .super Ljava/lang/Object; .source "AbstractClientConnAdapter.java" # interfaces .implements Lorg/apache/http/conn/ManagedClientConnection; # instance fields .field private volatile connManager:Lorg/apache/http/conn/ClientConnectionManager; .field private volatile duration:J .field private volatile markedReusable:Z .field private volatile released:Z .field private volatile wrappedConnection:Lorg/apache/http/conn/OperatedClientConnection; # direct methods .method public constructor (Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/conn/OperatedClientConnection;)V .locals 0 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 iput-object p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager; .line 3 iput-object p2, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->wrappedConnection:Lorg/apache/http/conn/OperatedClientConnection; const/4 p1, 0x0 .line 4 iput-boolean p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markedReusable:Z .line 5 iput-boolean p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z const-wide p1, 0x7fffffffffffffffL .line 6 iput-wide p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->duration:J return-void .end method # virtual methods .method public declared-synchronized abortConnection()V .locals 4 monitor-enter p0 .line 1 :try_start_0 iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v0, :cond_0 .line 2 monitor-exit p0 return-void :cond_0 const/4 v0, 0x1 .line 3 :try_start_1 iput-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z .line 4 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 5 :try_start_2 invoke-interface {p0}, Lorg/apache/http/HttpConnection;->shutdown()V :try_end_2 .catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0 .catchall {:try_start_2 .. :try_end_2} :catchall_0 .line 6 :catch_0 :try_start_3 iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager; if-eqz v0, :cond_1 .line 7 iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager; iget-wide v1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->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 :try_end_3 .catchall {:try_start_3 .. :try_end_3} :catchall_0 .line 8 :cond_1 monitor-exit p0 return-void :catchall_0 move-exception v0 monitor-exit p0 throw v0 .end method .method public final assertNotAborted()V .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/InterruptedIOException; } .end annotation .line 1 iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z if-nez v0, :cond_0 return-void .line 2 :cond_0 new-instance v0, Ljava/io/InterruptedIOException; const-string v1, "Connection has been shut down" invoke-direct {v0, v1}, Ljava/io/InterruptedIOException;->(Ljava/lang/String;)V throw v0 .end method .method public final assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/lang/IllegalStateException; } .end annotation if-eqz p1, :cond_0 return-void .line 1 :cond_0 new-instance p1, Ljava/lang/IllegalStateException; const-string v0, "No wrapped connection" invoke-direct {p1, v0}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .end method .method public declared-synchronized detach()V .locals 2 monitor-enter p0 const/4 v0, 0x0 .line 1 :try_start_0 iput-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->wrappedConnection:Lorg/apache/http/conn/OperatedClientConnection; .line 2 iput-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager; const-wide v0, 0x7fffffffffffffffL .line 3 iput-wide v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->duration:J :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 4 monitor-exit p0 return-void :catchall_0 move-exception v0 monitor-exit p0 throw v0 .end method .method public flush()V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V .line 2 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 3 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 4 invoke-interface {v0}, Lorg/apache/http/HttpClientConnection;->flush()V return-void .end method .method public getLocalAddress()Ljava/net/InetAddress; .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 3 invoke-interface {v0}, Lorg/apache/http/HttpInetConnection;->getLocalAddress()Ljava/net/InetAddress; move-result-object v0 return-object v0 .end method .method public getLocalPort()I .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 3 invoke-interface {v0}, Lorg/apache/http/HttpInetConnection;->getLocalPort()I move-result v0 return v0 .end method .method public getManager()Lorg/apache/http/conn/ClientConnectionManager; .locals 1 .line 1 iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager; return-object v0 .end method .method public getMetrics()Lorg/apache/http/HttpConnectionMetrics; .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 3 invoke-interface {v0}, Lorg/apache/http/HttpConnection;->getMetrics()Lorg/apache/http/HttpConnectionMetrics; move-result-object v0 return-object v0 .end method .method public getRemoteAddress()Ljava/net/InetAddress; .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 3 invoke-interface {v0}, Lorg/apache/http/HttpInetConnection;->getRemoteAddress()Ljava/net/InetAddress; move-result-object v0 return-object v0 .end method .method public getRemotePort()I .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 3 invoke-interface {v0}, Lorg/apache/http/HttpInetConnection;->getRemotePort()I move-result v0 return v0 .end method .method public getSSLSession()Ljavax/net/ssl/SSLSession; .locals 3 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 3 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->isOpen()Z move-result v1 const/4 v2, 0x0 if-nez v1, :cond_0 return-object v2 .line 4 :cond_0 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->getSocket()Ljava/net/Socket; move-result-object v0 .line 5 instance-of v1, v0, Ljavax/net/ssl/SSLSocket; if-eqz v1, :cond_1 .line 6 check-cast v0, Ljavax/net/ssl/SSLSocket; invoke-virtual {v0}, Ljavax/net/ssl/SSLSocket;->getSession()Ljavax/net/ssl/SSLSession; move-result-object v2 :cond_1 return-object v2 .end method .method public getSocketTimeout()I .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 3 invoke-interface {v0}, Lorg/apache/http/HttpConnection;->getSocketTimeout()I move-result v0 return v0 .end method .method public getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; .locals 1 .line 1 iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->wrappedConnection:Lorg/apache/http/conn/OperatedClientConnection; return-object v0 .end method .method public isMarkedReusable()Z .locals 1 .line 1 iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markedReusable:Z return v0 .end method .method public isOpen()Z .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 if-nez v0, :cond_0 const/4 v0, 0x0 return v0 .line 2 :cond_0 invoke-interface {v0}, Lorg/apache/http/HttpConnection;->isOpen()Z move-result v0 return v0 .end method .method public isResponseAvailable(I)Z .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V .line 2 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 3 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 4 invoke-interface {v0, p1}, Lorg/apache/http/HttpClientConnection;->isResponseAvailable(I)Z move-result p1 return p1 .end method .method public isSecure()Z .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 3 invoke-interface {v0}, Lorg/apache/http/conn/OperatedClientConnection;->isSecure()Z move-result v0 return v0 .end method .method public isStale()Z .locals 2 .line 1 iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z const/4 v1, 0x1 if-eqz v0, :cond_0 return v1 .line 2 :cond_0 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 if-nez v0, :cond_1 return v1 .line 3 :cond_1 invoke-interface {v0}, Lorg/apache/http/HttpConnection;->isStale()Z move-result v0 return v0 .end method .method public markReusable()V .locals 1 const/4 v0, 0x1 .line 1 iput-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markedReusable:Z return-void .end method .method public receiveResponseEntity(Lorg/apache/http/HttpResponse;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V .line 2 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 3 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 4 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V .line 5 invoke-interface {v0, p1}, Lorg/apache/http/HttpClientConnection;->receiveResponseEntity(Lorg/apache/http/HttpResponse;)V return-void .end method .method public receiveResponseHeader()Lorg/apache/http/HttpResponse; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V .line 2 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 3 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 4 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V .line 5 invoke-interface {v0}, Lorg/apache/http/HttpClientConnection;->receiveResponseHeader()Lorg/apache/http/HttpResponse; move-result-object v0 return-object v0 .end method .method public declared-synchronized releaseConnection()V .locals 4 monitor-enter p0 .line 1 :try_start_0 iget-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-eqz v0, :cond_0 .line 2 monitor-exit p0 return-void :cond_0 const/4 v0, 0x1 .line 3 :try_start_1 iput-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->released:Z .line 4 iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager; if-eqz v0, :cond_1 .line 5 iget-object v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->connManager:Lorg/apache/http/conn/ClientConnectionManager; iget-wide v1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->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 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 .line 6 :cond_1 monitor-exit p0 return-void :catchall_0 move-exception v0 monitor-exit p0 throw v0 .end method .method public sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V .line 2 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 3 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 4 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V .line 5 invoke-interface {v0, p1}, Lorg/apache/http/HttpClientConnection;->sendRequestEntity(Lorg/apache/http/HttpEntityEnclosingRequest;)V return-void .end method .method public sendRequestHeader(Lorg/apache/http/HttpRequest;)V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Lorg/apache/http/HttpException;, Ljava/io/IOException; } .end annotation .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertNotAborted()V .line 2 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 3 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 4 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->unmarkReusable()V .line 5 invoke-interface {v0, p1}, Lorg/apache/http/HttpClientConnection;->sendRequestHeader(Lorg/apache/http/HttpRequest;)V return-void .end method .method public setIdleDuration(JLjava/util/concurrent/TimeUnit;)V .locals 2 const-wide/16 v0, 0x0 cmp-long v0, p1, v0 if-lez v0, :cond_0 .line 1 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/AbstractClientConnAdapter;->duration:J goto :goto_0 :cond_0 const-wide/16 p1, -0x1 .line 2 iput-wide p1, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->duration:J :goto_0 return-void .end method .method public setSocketTimeout(I)V .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->getWrappedConnection()Lorg/apache/http/conn/OperatedClientConnection; move-result-object v0 .line 2 invoke-virtual {p0, v0}, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->assertValid(Lorg/apache/http/conn/OperatedClientConnection;)V .line 3 invoke-interface {v0, p1}, Lorg/apache/http/HttpConnection;->setSocketTimeout(I)V return-void .end method .method public unmarkReusable()V .locals 1 const/4 v0, 0x0 .line 1 iput-boolean v0, p0, Lorg/apache/http/impl/conn/AbstractClientConnAdapter;->markedReusable:Z return-void .end method