Package org.apache.http
Interface HttpConnection
- All Known Subinterfaces:
HttpClientConnection,HttpInetConnection,HttpServerConnection,ManagedClientConnection,OperatedClientConnection
- All Known Implementing Classes:
AbstractClientConnAdapter,AbstractHttpClientConnection,AbstractHttpServerConnection,AbstractPooledConnAdapter,BasicPooledConnAdapter,DefaultClientConnection,DefaultHttpClientConnection,DefaultHttpServerConnection,SingleClientConnManager.ConnAdapter,SocketHttpClientConnection,SocketHttpServerConnection
public interface HttpConnection
A generic HTTP connection, useful on client and server side.
- Since:
- 4.0
- Version:
- $Revision: 548031 $
- Author:
- Oleg Kalnichevski
-
Method Summary
Modifier and Type Method Description voidclose()Closes this connection gracefully.HttpConnectionMetricsgetMetrics()Returns a collection of connection metrcisintgetSocketTimeout()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.
-
Method Details
-
close
Closes this connection gracefully. This method will attempt to flush the transmitter's internal buffer prior to closing the underlying socket. This method MUST NOT be called from a different thread to force shutdown of the connection. Useshutdowninstead.- Throws:
IOException
-
isOpen
boolean isOpen()Checks if this connection is open.- Returns:
- true if it is open, false if it is closed.
-
isStale
boolean isStale()Checks 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.- Returns:
trueif attempts to use this connection are likely to succeed, orfalseif they are likely to fail and this connection should be closed
-
setSocketTimeout
void setSocketTimeout(int timeout)Sets the socket timeout value.- Parameters:
timeout- timeout value in milliseconds
-
getSocketTimeout
int getSocketTimeout()Returns the socket timeout value.- Returns:
- positive value in milliseconds if a timeout is set,
0if timeout is disabled or-1if timeout is undefined.
-
shutdown
Force-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.- Throws:
IOException
-
getMetrics
HttpConnectionMetrics getMetrics()Returns a collection of connection metrcis- Returns:
- HttpConnectionMetrics
-