Package org.apache.http.impl.nio.client
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 AtomicBoolean
private final AtomicBoolean
private final AtomicReference
<Future<org.apache.http.nio.NHttpClientConnection>> private final NHttpClientConnectionManager
private final org.apache.http.ConnectionReuseStrategy
private static final AtomicLong
private final long
private final org.apache.http.conn.ConnectionKeepAliveStrategy
private final org.apache.http.client.protocol.HttpClientContext
protected final org.apache.commons.logging.Log
private 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 AtomicBoolean
private 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 boolean
cancel()
final void
close()
private void
connectionAllocated
(org.apache.http.nio.NHttpClientConnection managedConn) private void
private void
(package private) final void
(package private) abstract boolean
(package private) abstract void
final 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 long
getId()
(package private) final org.apache.http.conn.routing.HttpRoute
getRoute()
(package private) final boolean
final boolean
isDone()
(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 void
setCurrentRequest
(org.apache.http.client.methods.HttpRequestWrapper request) (package private) final void
setCurrentResponse
(org.apache.http.HttpResponse response) (package private) final void
setRoute
(org.apache.http.conn.routing.HttpRoute route) (package private) final void
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
isDone
public final boolean isDone()- Specified by:
isDone
in interfaceorg.apache.http.nio.protocol.HttpAsyncClientExchangeHandler
-
failed
- Specified by:
failed
in interfaceorg.apache.http.nio.protocol.HttpAsyncClientExchangeHandler
-
cancel
public final boolean cancel()- Specified by:
cancel
in interfaceorg.apache.http.concurrent.Cancellable
-