.class public Lorg/apache/http/impl/SocketHttpClientConnection; .super Lorg/apache/http/impl/AbstractHttpClientConnection; .source "SocketHttpClientConnection.java" # interfaces .implements Lorg/apache/http/HttpInetConnection; # instance fields .field private volatile open:Z .field private volatile socket:Ljava/net/Socket; # direct methods .method public constructor ()V .locals 1 .line 1 invoke-direct {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->()V const/4 v0, 0x0 .line 2 iput-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; return-void .end method # virtual methods .method public assertNotOpen()V .locals 2 .line 1 iget-boolean v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->open:Z if-nez v0, :cond_0 return-void .line 2 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "Connection is already open" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public assertOpen()V .locals 2 .line 1 iget-boolean v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->open:Z if-eqz v0, :cond_0 return-void .line 2 :cond_0 new-instance v0, Ljava/lang/IllegalStateException; const-string v1, "Connection is not open" invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw v0 .end method .method public bind(Ljava/net/Socket;Lorg/apache/http/params/HttpParams;)V .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation if-eqz p1, :cond_1 if-eqz p2, :cond_0 .line 1 iput-object p1, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; .line 2 invoke-static {p2}, Lorg/apache/http/params/HttpConnectionParams;->getSocketBufferSize(Lorg/apache/http/params/HttpParams;)I move-result v0 .line 3 invoke-virtual {p0, p1, v0, p2}, Lorg/apache/http/impl/SocketHttpClientConnection;->createSessionInputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionInputBuffer; move-result-object v1 invoke-virtual {p0, p1, v0, p2}, Lorg/apache/http/impl/SocketHttpClientConnection;->createSessionOutputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionOutputBuffer; move-result-object p1 invoke-virtual {p0, v1, p1, p2}, Lorg/apache/http/impl/AbstractHttpClientConnection;->init(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)V const/4 p1, 0x1 .line 4 iput-boolean p1, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->open:Z return-void .line 5 :cond_0 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "HTTP parameters may not be null" invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .line 6 :cond_1 new-instance p1, Ljava/lang/IllegalArgumentException; const-string p2, "Socket may not be null" invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p1 .end method .method public close()V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 iget-boolean v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->open:Z if-nez v0, :cond_0 return-void :cond_0 const/4 v0, 0x0 .line 2 iput-boolean v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->open:Z .line 3 invoke-virtual {p0}, Lorg/apache/http/impl/AbstractHttpClientConnection;->doFlush()V .line 4 :try_start_0 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->shutdownOutput()V :try_end_0 .catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0 .catch Ljava/lang/UnsupportedOperationException; {:try_start_0 .. :try_end_0} :catch_1 .line 5 :catch_0 :try_start_1 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->shutdownInput()V :try_end_1 .catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1 .catch Ljava/lang/UnsupportedOperationException; {:try_start_1 .. :try_end_1} :catch_1 .line 6 :catch_1 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->close()V return-void .end method .method public createSessionInputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionInputBuffer; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 new-instance v0, Lorg/apache/http/impl/io/SocketInputBuffer; invoke-direct {v0, p1, p2, p3}, Lorg/apache/http/impl/io/SocketInputBuffer;->(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)V return-object v0 .end method .method public createSessionOutputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionOutputBuffer; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 1 new-instance v0, Lorg/apache/http/impl/io/SocketOutputBuffer; invoke-direct {v0, p1, p2, p3}, Lorg/apache/http/impl/io/SocketOutputBuffer;->(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)V return-object v0 .end method .method public getLocalAddress()Ljava/net/InetAddress; .locals 1 .line 1 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_0 .line 2 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getLocalAddress()Ljava/net/InetAddress; move-result-object v0 return-object v0 :cond_0 const/4 v0, 0x0 return-object v0 .end method .method public getLocalPort()I .locals 1 .line 1 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_0 .line 2 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getLocalPort()I move-result v0 return v0 :cond_0 const/4 v0, -0x1 return v0 .end method .method public getRemoteAddress()Ljava/net/InetAddress; .locals 1 .line 1 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_0 .line 2 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getInetAddress()Ljava/net/InetAddress; move-result-object v0 return-object v0 :cond_0 const/4 v0, 0x0 return-object v0 .end method .method public getRemotePort()I .locals 1 .line 1 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_0 .line 2 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getPort()I move-result v0 return v0 :cond_0 const/4 v0, -0x1 return v0 .end method .method public getSocket()Ljava/net/Socket; .locals 1 .line 1 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; return-object v0 .end method .method public getSocketTimeout()I .locals 2 .line 1 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; const/4 v1, -0x1 if-eqz v0, :cond_0 .line 2 :try_start_0 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getSoTimeout()I move-result v0 :try_end_0 .catch Ljava/net/SocketException; {:try_start_0 .. :try_end_0} :catch_0 return v0 :catch_0 :cond_0 return v1 .end method .method public isOpen()Z .locals 1 .line 1 iget-boolean v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->open:Z return v0 .end method .method public setSocketTimeout(I)V .locals 1 .line 1 invoke-virtual {p0}, Lorg/apache/http/impl/SocketHttpClientConnection;->assertOpen()V .line 2 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_0 .line 3 :try_start_0 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; invoke-virtual {v0, p1}, Ljava/net/Socket;->setSoTimeout(I)V :try_end_0 .catch Ljava/net/SocketException; {:try_start_0 .. :try_end_0} :catch_0 :catch_0 :cond_0 return-void .end method .method public shutdown()V .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x0 .line 1 iput-boolean v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->open:Z .line 2 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpClientConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_0 .line 3 invoke-virtual {v0}, Ljava/net/Socket;->close()V :cond_0 return-void .end method