.class public Lorg/apache/http/impl/SocketHttpServerConnection; .super Lorg/apache/http/impl/AbstractHttpServerConnection; .source "SocketHttpServerConnection.java" # interfaces .implements Lorg/apache/http/HttpInetConnection; # annotations .annotation runtime Ljava/lang/Deprecated; .end annotation # instance fields .field private volatile open:Z .field private volatile socket:Ljava/net/Socket; # direct methods .method public constructor ()V .registers 2 .line 55 invoke-direct {p0}, Lorg/apache/http/impl/AbstractHttpServerConnection;->()V const/4 v0, 0x0 .line 52 iput-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; return-void .end method .method private static formatAddress(Ljava/lang/StringBuilder;Ljava/net/SocketAddress;)V .registers 3 .line 252 instance-of v0, p1, Ljava/net/InetSocketAddress; if-eqz v0, :cond_2b .line 253 check-cast p1, Ljava/net/InetSocketAddress; .line 254 invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getAddress()Ljava/net/InetAddress; move-result-object v0 if-eqz v0, :cond_15 invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getAddress()Ljava/net/InetAddress; move-result-object v0 invoke-virtual {v0}, Ljava/net/InetAddress;->getHostAddress()Ljava/lang/String; move-result-object v0 goto :goto_19 :cond_15 invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getAddress()Ljava/net/InetAddress; move-result-object v0 :goto_19 invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p0 const/16 v0, 0x3a invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p1}, Ljava/net/InetSocketAddress;->getPort()I move-result p1 invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; goto :goto_2e .line 259 :cond_2b invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; :goto_2e return-void .end method # virtual methods .method protected assertNotOpen()V .registers 3 .line 59 iget-boolean v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->open:Z xor-int/lit8 v0, v0, 0x1 const-string v1, "Connection is already open" invoke-static {v0, v1}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V return-void .end method .method protected assertOpen()V .registers 3 .line 64 iget-boolean v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->open:Z const-string v1, "Connection is not open" invoke-static {v0, v1}, Lorg/apache/http/util/Asserts;->check(ZLjava/lang/String;)V return-void .end method .method protected bind(Ljava/net/Socket;Lorg/apache/http/params/HttpParams;)V .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 130 const-string v0, "Socket" invoke-static {p1, v0}, Lorg/apache/http/util/Args;->notNull(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; .line 131 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 132 iput-object p1, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; .line 134 const-string v0, "http.socket.buffer-size" const/4 v1, -0x1 invoke-interface {p2, v0, v1}, Lorg/apache/http/params/HttpParams;->getIntParameter(Ljava/lang/String;I)I move-result v0 .line 135 invoke-virtual {p0, p1, v0, p2}, Lorg/apache/http/impl/SocketHttpServerConnection;->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/SocketHttpServerConnection;->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/SocketHttpServerConnection;->init(Lorg/apache/http/io/SessionInputBuffer;Lorg/apache/http/io/SessionOutputBuffer;Lorg/apache/http/params/HttpParams;)V const/4 p1, 0x1 .line 140 iput-boolean p1, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->open:Z return-void .end method .method public close()V .registers 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 226 iget-boolean v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->open:Z if-nez v0, :cond_5 return-void :cond_5 const/4 v0, 0x0 .line 229 iput-boolean v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->open:Z .line 230 iput-boolean v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->open:Z .line 231 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; .line 233 :try_start_c invoke-virtual {p0}, Lorg/apache/http/impl/SocketHttpServerConnection;->doFlush()V :try_end_f .catchall {:try_start_c .. :try_end_f} :catchall_19 .line 236 :try_start_f invoke-virtual {v0}, Ljava/net/Socket;->shutdownOutput()V :try_end_12 .catch Ljava/io/IOException; {:try_start_f .. :try_end_12} :catch_12 .catch Ljava/lang/UnsupportedOperationException; {:try_start_f .. :try_end_12} :catch_15 .catchall {:try_start_f .. :try_end_12} :catchall_19 .line 240 :catch_12 :try_start_12 invoke-virtual {v0}, Ljava/net/Socket;->shutdownInput()V :try_end_15 .catch Ljava/io/IOException; {:try_start_12 .. :try_end_15} :catch_15 .catch Ljava/lang/UnsupportedOperationException; {:try_start_12 .. :try_end_15} :catch_15 .catchall {:try_start_12 .. :try_end_15} :catchall_19 .line 247 :catch_15 invoke-virtual {v0}, Ljava/net/Socket;->close()V return-void :catchall_19 move-exception v1 invoke-virtual {v0}, Ljava/net/Socket;->close()V throw v1 .end method .method protected createSessionInputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionInputBuffer; .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 86 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 protected createSessionOutputBuffer(Ljava/net/Socket;ILorg/apache/http/params/HttpParams;)Lorg/apache/http/io/SessionOutputBuffer; .registers 5 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 108 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; .registers 2 .line 154 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_b .line 155 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getLocalAddress()Ljava/net/InetAddress; move-result-object v0 return-object v0 :cond_b const/4 v0, 0x0 return-object v0 .end method .method public getLocalPort()I .registers 2 .line 163 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_b .line 164 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getLocalPort()I move-result v0 return v0 :cond_b const/4 v0, -0x1 return v0 .end method .method public getRemoteAddress()Ljava/net/InetAddress; .registers 2 .line 172 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_b .line 173 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getInetAddress()Ljava/net/InetAddress; move-result-object v0 return-object v0 :cond_b const/4 v0, 0x0 return-object v0 .end method .method public getRemotePort()I .registers 2 .line 181 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_b .line 182 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getPort()I move-result v0 return v0 :cond_b const/4 v0, -0x1 return v0 .end method .method protected getSocket()Ljava/net/Socket; .registers 2 .line 144 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; return-object v0 .end method .method public getSocketTimeout()I .registers 3 .line 204 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; const/4 v1, -0x1 if-eqz v0, :cond_c .line 206 :try_start_5 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; invoke-virtual {v0}, Ljava/net/Socket;->getSoTimeout()I move-result v0 :try_end_b .catch Ljava/net/SocketException; {:try_start_5 .. :try_end_b} :catch_c return v0 :catch_c :cond_c return v1 .end method .method public isOpen()Z .registers 2 .line 149 iget-boolean v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->open:Z return v0 .end method .method public setSocketTimeout(I)V .registers 3 .line 190 invoke-virtual {p0}, Lorg/apache/http/impl/SocketHttpServerConnection;->assertOpen()V .line 191 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_c .line 193 :try_start_7 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; invoke-virtual {v0, p1}, Ljava/net/Socket;->setSoTimeout(I)V :try_end_c .catch Ljava/net/SocketException; {:try_start_7 .. :try_end_c} :catch_c :catch_c :cond_c return-void .end method .method public shutdown()V .registers 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation const/4 v0, 0x0 .line 217 iput-boolean v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->open:Z .line 218 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_a .line 220 invoke-virtual {v0}, Ljava/net/Socket;->close()V :cond_a return-void .end method .method public toString()Ljava/lang/String; .registers 4 .line 265 iget-object v0, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; if-eqz v0, :cond_29 .line 266 new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0}, Ljava/lang/StringBuilder;->()V .line 267 iget-object v1, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; invoke-virtual {v1}, Ljava/net/Socket;->getRemoteSocketAddress()Ljava/net/SocketAddress; move-result-object v1 .line 268 iget-object v2, p0, Lorg/apache/http/impl/SocketHttpServerConnection;->socket:Ljava/net/Socket; invoke-virtual {v2}, Ljava/net/Socket;->getLocalSocketAddress()Ljava/net/SocketAddress; move-result-object v2 if-eqz v1, :cond_24 if-eqz v2, :cond_24 .line 270 invoke-static {v0, v2}, Lorg/apache/http/impl/SocketHttpServerConnection;->formatAddress(Ljava/lang/StringBuilder;Ljava/net/SocketAddress;)V .line 271 const-string v2, "<->" invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; .line 272 invoke-static {v0, v1}, Lorg/apache/http/impl/SocketHttpServerConnection;->formatAddress(Ljava/lang/StringBuilder;Ljava/net/SocketAddress;)V .line 274 :cond_24 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .line 276 :cond_29 invoke-super {p0}, Ljava/lang/Object;->toString()Ljava/lang/String; move-result-object v0 return-object v0 .end method