Class AbstractClientExchangeHandler
java.lang.Object
org.apache.http.impl.nio.client.AbstractClientExchangeHandler
- All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.http.concurrent.Cancellable, org.apache.http.nio.protocol.HttpAsyncClientExchangeHandler
- Direct Known Subclasses:
DefaultClientExchangeHandlerImpl, MinimalClientExchangeHandlerImpl, PipeliningClientExchangeHandlerImpl
abstract class AbstractClientExchangeHandler
extends Object
implements org.apache.http.nio.protocol.HttpAsyncClientExchangeHandler
Abstract
HttpAsyncClientExchangeHandler class
that implements connection management aspects shared by all HTTP exchange handlers.
Instances of this class are expected to be accessed by one thread at a time only.
The cancel() method can be called concurrently by multiple threads.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicBooleanprivate final AtomicBooleanprivate final AtomicReference<Future<org.apache.http.nio.NHttpClientConnection>> private final NHttpClientConnectionManagerprivate final org.apache.http.ConnectionReuseStrategyprivate static final AtomicLongprivate final longprivate final org.apache.http.conn.ConnectionKeepAliveStrategyprivate final org.apache.http.client.protocol.HttpClientContextprotected final org.apache.commons.logging.Logprivate final AtomicReference<org.apache.http.nio.NHttpClientConnection> private final AtomicReference<org.apache.http.client.methods.HttpRequestWrapper> private final AtomicReference<org.apache.http.HttpResponse> private final AtomicBooleanprivate final AtomicReference<org.apache.http.conn.routing.HttpRoute> private final AtomicReference<org.apache.http.conn.routing.RouteTracker> private final AtomicReference<Long> -
Constructor Summary
ConstructorsConstructorDescriptionAbstractClientExchangeHandler(org.apache.commons.logging.Log log, org.apache.http.client.protocol.HttpClientContext localContext, NHttpClientConnectionManager connmgr, org.apache.http.ConnectionReuseStrategy connReuseStrategy, org.apache.http.conn.ConnectionKeepAliveStrategy keepaliveStrategy) -
Method Summary
Modifier and TypeMethodDescriptionfinal booleancancel()final voidclose()private voidconnectionAllocated(org.apache.http.nio.NHttpClientConnection managedConn) private voidprivate void(package private) final void(package private) abstract boolean(package private) abstract voidfinal void(package private) final org.apache.http.conn.routing.HttpRoute(package private) final org.apache.http.nio.NHttpClientConnection(package private) final org.apache.http.client.methods.HttpRequestWrapper(package private) final org.apache.http.HttpResponse(package private) final longgetId()(package private) final org.apache.http.conn.routing.HttpRoutegetRoute()(package private) final booleanfinal booleanisDone()(package private) final boolean(package private) final boolean(package private) final void(package private) final void(package private) final void(package private) final void(package private) final void(package private) final void(package private) final void(package private) final void(package private) abstract void(package private) final void(package private) final voidsetCurrentRequest(org.apache.http.client.methods.HttpRequestWrapper request) (package private) final voidsetCurrentResponse(org.apache.http.HttpResponse response) (package private) final voidsetRoute(org.apache.http.conn.routing.HttpRoute route) (package private) final voidMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.http.nio.protocol.HttpAsyncClientExchangeHandler
consumeContent, generateRequest, inputTerminated, produceContent, requestCompleted, responseCompleted, responseReceived
-
Field Details
-
COUNTER
-
log
protected final org.apache.commons.logging.Log log -
id
private final long id -
localContext
private final org.apache.http.client.protocol.HttpClientContext localContext -
connmgr
-
connReuseStrategy
private final org.apache.http.ConnectionReuseStrategy connReuseStrategy -
keepaliveStrategy
private final org.apache.http.conn.ConnectionKeepAliveStrategy keepaliveStrategy -
connectionFutureRef
private final AtomicReference<Future<org.apache.http.nio.NHttpClientConnection>> connectionFutureRef -
managedConnRef
-
routeRef
-
routeTrackerRef
-
routeEstablished
-
validDurationRef
-
requestRef
-
responseRef
-
completed
-
closed
-
-
Constructor Details
-
AbstractClientExchangeHandler
AbstractClientExchangeHandler(org.apache.commons.logging.Log log, org.apache.http.client.protocol.HttpClientContext localContext, NHttpClientConnectionManager connmgr, org.apache.http.ConnectionReuseStrategy connReuseStrategy, org.apache.http.conn.ConnectionKeepAliveStrategy keepaliveStrategy)
-
-
Method Details
-
getId
final long getId() -
isCompleted
final boolean isCompleted() -
markCompleted
final void markCompleted() -
markConnectionNonReusable
final void markConnectionNonReusable() -
isRouteEstablished
final boolean isRouteEstablished() -
getRoute
final org.apache.http.conn.routing.HttpRoute getRoute() -
setRoute
final void setRoute(org.apache.http.conn.routing.HttpRoute route) -
getCurrentRequest
final org.apache.http.client.methods.HttpRequestWrapper getCurrentRequest() -
setCurrentRequest
final void setCurrentRequest(org.apache.http.client.methods.HttpRequestWrapper request) -
getCurrentResponse
final org.apache.http.HttpResponse getCurrentResponse() -
setCurrentResponse
final void setCurrentResponse(org.apache.http.HttpResponse response) -
getActualRoute
final org.apache.http.conn.routing.HttpRoute getActualRoute() -
verifytRoute
final void verifytRoute() -
onRouteToTarget
- Throws:
IOException
-
onRouteToProxy
- Throws:
IOException
-
onRouteUpgrade
- Throws:
IOException
-
onRouteTunnelToTarget
final void onRouteTunnelToTarget() -
onRouteComplete
final void onRouteComplete() -
getConnection
final org.apache.http.nio.NHttpClientConnection getConnection() -
releaseConnection
final void releaseConnection() -
discardConnection
final void discardConnection() -
manageConnectionPersistence
final boolean manageConnectionPersistence() -
connectionAllocated
private void connectionAllocated(org.apache.http.nio.NHttpClientConnection managedConn) -
connectionRequestFailed
-
connectionRequestCancelled
private void connectionRequestCancelled() -
requestConnection
final void requestConnection() -
releaseResources
abstract void releaseResources() -
executionFailed
-
executionCancelled
abstract boolean executionCancelled() -
close
public final void close()- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
isDone
public final boolean isDone()- Specified by:
isDonein interfaceorg.apache.http.nio.protocol.HttpAsyncClientExchangeHandler
-
failed
- Specified by:
failedin interfaceorg.apache.http.nio.protocol.HttpAsyncClientExchangeHandler
-
cancel
public final boolean cancel()- Specified by:
cancelin interfaceorg.apache.http.concurrent.Cancellable
-