Package org.apache.http.nio.pool
Class AbstractNIOConnPool<T,C,E extends PoolEntry<T,C>>
- java.lang.Object
-
- org.apache.http.nio.pool.AbstractNIOConnPool<T,C,E>
-
- Type Parameters:
T- routeC- connection objectE- pool entry
- All Implemented Interfaces:
ConnPool<T,E>,ConnPoolControl<T>
- Direct Known Subclasses:
BasicNIOConnPool
@Contract(threading=SAFE_CONDITIONAL) public abstract class AbstractNIOConnPool<T,C,E extends PoolEntry<T,C>> extends Object implements ConnPool<T,E>, ConnPoolControl<T>
Abstract non-blocking connection pool.- Since:
- 4.2
-
-
Constructor Summary
Constructors Constructor Description AbstractNIOConnPool(ConnectingIOReactor ioReactor, NIOConnFactory<T,C> connFactory, int defaultMaxPerRoute, int maxTotal)AbstractNIOConnPool(ConnectingIOReactor ioReactor, NIOConnFactory<T,C> connFactory, SocketAddressResolver<T> addressResolver, int defaultMaxPerRoute, int maxTotal)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidcloseExpired()voidcloseIdle(long idletime, TimeUnit timeUnit)protected abstract EcreateEntry(T route, C conn)protected voidenumAvailable(PoolEntryCallback<T,C> callback)Enumerates all available connections.protected voidenumEntries(Iterator<E> it, PoolEntryCallback<T,C> callback)Deprecated.(4.3.2)protected voidenumLeased(PoolEntryCallback<T,C> callback)Enumerates all leased connections.intgetDefaultMaxPerRoute()intgetMaxPerRoute(T route)intgetMaxTotal()Set<T>getRoutes()Returns snapshot of all knows routesPoolStatsgetStats(T route)PoolStatsgetTotalStats()booleanisShutdown()Future<E>lease(T route, Object state)Future<E>lease(T route, Object state, long connectTimeout, long leaseTimeout, TimeUnit timeUnit, FutureCallback<E> callback)Future<E>lease(T route, Object state, long connectTimeout, TimeUnit timeUnit, FutureCallback<E> callback)Future<E>lease(T route, Object state, FutureCallback<E> callback)Attempts to lease a connection for the given route and with the given state from the pool.protected voidonLease(E entry)protected voidonRelease(E entry)protected voidonReuse(E entry)voidrelease(E entry, boolean reusable)Releases the pool entry back to the pool.protected voidrequestCancelled(SessionRequest request)protected voidrequestCompleted(SessionRequest request)protected voidrequestFailed(SessionRequest request)protected voidrequestTimeout(SessionRequest request)protected SocketAddressresolveLocalAddress(T route)Deprecated.(4.3) useSocketAddressResolverprotected SocketAddressresolveRemoteAddress(T route)Deprecated.(4.3) useSocketAddressResolvervoidsetDefaultMaxPerRoute(int max)voidsetMaxPerRoute(T route, int max)voidsetMaxTotal(int max)voidshutdown(long waitMs)StringtoString()voidvalidatePendingRequests()
-
-
-
Constructor Detail
-
AbstractNIOConnPool
@Deprecated public AbstractNIOConnPool(ConnectingIOReactor ioReactor, NIOConnFactory<T,C> connFactory, int defaultMaxPerRoute, int maxTotal)
-
AbstractNIOConnPool
public AbstractNIOConnPool(ConnectingIOReactor ioReactor, NIOConnFactory<T,C> connFactory, SocketAddressResolver<T> addressResolver, int defaultMaxPerRoute, int maxTotal)
- Since:
- 4.3
-
-
Method Detail
-
resolveRemoteAddress
@Deprecated protected SocketAddress resolveRemoteAddress(T route)
Deprecated.(4.3) useSocketAddressResolver
-
resolveLocalAddress
@Deprecated protected SocketAddress resolveLocalAddress(T route)
Deprecated.(4.3) useSocketAddressResolver
-
onLease
protected void onLease(E entry)
- Since:
- 4.3
-
onRelease
protected void onRelease(E entry)
- Since:
- 4.3
-
onReuse
protected void onReuse(E entry)
- Since:
- 4.4
-
isShutdown
public boolean isShutdown()
-
shutdown
public void shutdown(long waitMs) throws IOException- Throws:
IOException
-
lease
public Future<E> lease(T route, Object state, long connectTimeout, TimeUnit timeUnit, FutureCallback<E> callback)
-
lease
public Future<E> lease(T route, Object state, long connectTimeout, long leaseTimeout, TimeUnit timeUnit, FutureCallback<E> callback)
- Since:
- 4.3
-
lease
public Future<E> lease(T route, Object state, FutureCallback<E> callback)
Description copied from interface:ConnPoolAttempts to lease a connection for the given route and with the given state from the pool.- Specified by:
leasein interfaceConnPool<T,C>- Parameters:
route- route of the connection.state- arbitrary object that represents a particular state (usually a security principal or a unique token identifying the user whose credentials have been used while establishing the connection). May benull.callback- operation completion callback.- Returns:
- future for a leased pool entry.
-
release
public void release(E entry, boolean reusable)
Description copied from interface:ConnPoolReleases the pool entry back to the pool.
-
validatePendingRequests
public void validatePendingRequests()
-
requestCompleted
protected void requestCompleted(SessionRequest request)
-
requestCancelled
protected void requestCancelled(SessionRequest request)
-
requestFailed
protected void requestFailed(SessionRequest request)
-
requestTimeout
protected void requestTimeout(SessionRequest request)
-
setMaxTotal
public void setMaxTotal(int max)
- Specified by:
setMaxTotalin interfaceConnPoolControl<T>
-
getMaxTotal
public int getMaxTotal()
- Specified by:
getMaxTotalin interfaceConnPoolControl<T>
-
setDefaultMaxPerRoute
public void setDefaultMaxPerRoute(int max)
- Specified by:
setDefaultMaxPerRoutein interfaceConnPoolControl<T>
-
getDefaultMaxPerRoute
public int getDefaultMaxPerRoute()
- Specified by:
getDefaultMaxPerRoutein interfaceConnPoolControl<T>
-
setMaxPerRoute
public void setMaxPerRoute(T route, int max)
- Specified by:
setMaxPerRoutein interfaceConnPoolControl<T>
-
getMaxPerRoute
public int getMaxPerRoute(T route)
- Specified by:
getMaxPerRoutein interfaceConnPoolControl<T>
-
getTotalStats
public PoolStats getTotalStats()
- Specified by:
getTotalStatsin interfaceConnPoolControl<T>
-
getStats
public PoolStats getStats(T route)
- Specified by:
getStatsin interfaceConnPoolControl<T>
-
enumAvailable
protected void enumAvailable(PoolEntryCallback<T,C> callback)
Enumerates all available connections.- Since:
- 4.3
-
enumLeased
protected void enumLeased(PoolEntryCallback<T,C> callback)
Enumerates all leased connections.- Since:
- 4.3
-
enumEntries
@Deprecated protected void enumEntries(Iterator<E> it, PoolEntryCallback<T,C> callback)
Deprecated.(4.3.2)
-
closeIdle
public void closeIdle(long idletime, TimeUnit timeUnit)
-
closeExpired
public void closeExpired()
-
-