class DestinationConnectionPool
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) static interface |
DestinationConnectionPool.ConnectionCloseListener |
private class |
DestinationConnectionPool.ConnectionStateListener |
(package private) static class |
DestinationConnectionPool.DestinationKey |
private static class |
DestinationConnectionPool.RequestRecord |
Modifier and Type | Field and Description |
---|---|
private boolean |
closed |
private ConnectorConfiguration |
configuration |
private DestinationConnectionPool.ConnectionCloseListener |
connectionCloseListener |
private int |
connectionCounter |
private java.util.Set<HttpConnection> |
connections |
private DestinationConnectionPool.ConnectionStateListener |
connectionStateListener |
private java.net.CookieManager |
cookieManager |
private java.util.Queue<HttpConnection> |
idleConnections |
private java.util.Queue<DestinationConnectionPool.RequestRecord> |
pendingRequests |
private java.util.Map<HttpConnection,DestinationConnectionPool.RequestRecord> |
requestsInProgress |
private java.util.concurrent.ScheduledExecutorService |
scheduler |
Constructor and Description |
---|
DestinationConnectionPool(ConnectorConfiguration configuration,
java.net.CookieManager cookieManager,
java.util.concurrent.ScheduledExecutorService scheduler) |
Modifier and Type | Method and Description |
---|---|
private void |
cleanClosedConnection(HttpConnection connection) |
(package private) void |
close() |
private DestinationConnectionPool.RequestRecord |
getRequest(HttpConnection connection) |
private void |
handleIllegalStateTransition(HttpConnection.State oldState,
HttpConnection.State newState) |
private void |
processPendingRequests() |
private void |
processPendingRequests(HttpConnection connection) |
private void |
removeAllPendingWithError(java.lang.Throwable t) |
private DestinationConnectionPool.RequestRecord |
removeRequest(HttpConnection connection) |
(package private) void |
send(HttpRequest httpRequest,
CompletionHandler<HttpResponse> completionHandler) |
(package private) void |
setConnectionCloseListener(DestinationConnectionPool.ConnectionCloseListener connectionCloseListener) |
private final ConnectorConfiguration configuration
private final java.util.Queue<HttpConnection> idleConnections
private final java.util.Set<HttpConnection> connections
private final java.util.Queue<DestinationConnectionPool.RequestRecord> pendingRequests
private final java.util.Map<HttpConnection,DestinationConnectionPool.RequestRecord> requestsInProgress
private final java.net.CookieManager cookieManager
private final java.util.concurrent.ScheduledExecutorService scheduler
private final DestinationConnectionPool.ConnectionStateListener connectionStateListener
private volatile DestinationConnectionPool.ConnectionCloseListener connectionCloseListener
private int connectionCounter
private boolean closed
DestinationConnectionPool(ConnectorConfiguration configuration, java.net.CookieManager cookieManager, java.util.concurrent.ScheduledExecutorService scheduler)
void setConnectionCloseListener(DestinationConnectionPool.ConnectionCloseListener connectionCloseListener)
void send(HttpRequest httpRequest, CompletionHandler<HttpResponse> completionHandler)
private void processPendingRequests(HttpConnection connection)
private void processPendingRequests()
void close()
private DestinationConnectionPool.RequestRecord getRequest(HttpConnection connection)
private DestinationConnectionPool.RequestRecord removeRequest(HttpConnection connection)
private void cleanClosedConnection(HttpConnection connection)
private void handleIllegalStateTransition(HttpConnection.State oldState, HttpConnection.State newState)
private void removeAllPendingWithError(java.lang.Throwable t)