Package org.apache.http.impl
Class BHttpConnectionBase
- java.lang.Object
-
- org.apache.http.impl.BHttpConnectionBase
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,HttpConnection,HttpInetConnection
- Direct Known Subclasses:
DefaultBHttpClientConnection,DefaultBHttpServerConnection
public class BHttpConnectionBase extends java.lang.Object implements HttpConnection, HttpInetConnection
This class serves as a base for allHttpConnectionimplementations and provides functionality common to both client and server HTTP connections.- Since:
- 4.0
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes this connection gracefully.java.net.InetAddressgetLocalAddress()intgetLocalPort()HttpConnectionMetricsgetMetrics()Returns a collection of connection metrics.java.net.InetAddressgetRemoteAddress()intgetRemotePort()intgetSocketTimeout()Returns the socket timeout value.booleanisOpen()Checks if this connection is open.booleanisStale()Checks whether this connection has gone down.voidsetSocketTimeout(int timeout)Sets the socket timeout value.voidshutdown()Force-closes this connection.java.lang.StringtoString()
-
-
-
Method Detail
-
isOpen
public boolean isOpen()
Description copied from interface:HttpConnectionChecks if this connection is open.- Specified by:
isOpenin interfaceHttpConnection- Returns:
- true if it is open, false if it is closed.
-
getLocalAddress
public java.net.InetAddress getLocalAddress()
- Specified by:
getLocalAddressin interfaceHttpInetConnection
-
getLocalPort
public int getLocalPort()
- Specified by:
getLocalPortin interfaceHttpInetConnection
-
getRemoteAddress
public java.net.InetAddress getRemoteAddress()
- Specified by:
getRemoteAddressin interfaceHttpInetConnection
-
getRemotePort
public int getRemotePort()
- Specified by:
getRemotePortin interfaceHttpInetConnection
-
setSocketTimeout
public void setSocketTimeout(int timeout)
Description copied from interface:HttpConnectionSets the socket timeout value.- Specified by:
setSocketTimeoutin interfaceHttpConnection- Parameters:
timeout- timeout value in milliseconds
-
getSocketTimeout
public int getSocketTimeout()
Description copied from interface:HttpConnectionReturns the socket timeout value.- Specified by:
getSocketTimeoutin interfaceHttpConnection- Returns:
- positive value in milliseconds if a timeout is set,
0if timeout is disabled or-1if timeout is undefined.
-
shutdown
public void shutdown() throws java.io.IOExceptionDescription copied from interface:HttpConnectionForce-closes this connection. This is the only method of a connection which may be called from a different thread to terminate the connection. This method will not attempt to flush the transmitter's internal buffer prior to closing the underlying socket.- Specified by:
shutdownin interfaceHttpConnection- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOExceptionDescription copied from interface:HttpConnectionCloses this connection gracefully. This method will attempt to flush the internal output buffer prior to closing the underlying socket. This method MUST NOT be called from a different thread to force shutdown of the connection. Useshutdowninstead.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceHttpConnection- Throws:
java.io.IOException
-
isStale
public boolean isStale()
Description copied from interface:HttpConnectionChecks whether this connection has gone down. Network connections may get closed during some time of inactivity for several reasons. The next time a read is attempted on such a connection it will throw an IOException. This method tries to alleviate this inconvenience by trying to find out if a connection is still usable. Implementations may do that by attempting a read with a very small timeout. Thus this method may block for a small amount of time before returning a result. It is therefore an expensive operation.- Specified by:
isStalein interfaceHttpConnection- Returns:
trueif attempts to use this connection are likely to succeed, orfalseif they are likely to fail and this connection should be closed
-
getMetrics
public HttpConnectionMetrics getMetrics()
Description copied from interface:HttpConnectionReturns a collection of connection metrics.- Specified by:
getMetricsin interfaceHttpConnection- Returns:
- HttpConnectionMetrics
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-