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:
- ConnPoolControl<T>
- Direct Known Subclasses:
- BasicNIOConnPool
@ThreadSafe
public abstract class AbstractNIOConnPool<T,C,E extends PoolEntry<T,C>>
- extends Object
- implements ConnPoolControl<T>
Abstract non-blocking connection pool.
- Since:
- 4.2
Method Summary |
protected abstract void |
closeEntry(E entry)
|
void |
closeExpired()
|
void |
closeIdle(long idletime,
TimeUnit tunit)
|
protected abstract C |
createConnection(T route,
IOSession session)
|
protected abstract E |
createEntry(T route,
C conn)
|
PoolStats |
getStats(T route)
|
PoolStats |
getTotalStats()
|
boolean |
isShutdown()
|
Future<E> |
lease(T route,
Object state)
|
Future<E> |
lease(T route,
Object state,
FutureCallback<E> callback)
|
Future<E> |
lease(T route,
Object state,
long connectTimeout,
TimeUnit tunit,
FutureCallback<E> callback)
|
void |
release(E entry,
boolean reusable)
|
protected void |
requestCancelled(SessionRequest request)
|
protected void |
requestCompleted(SessionRequest request)
|
protected void |
requestFailed(SessionRequest request)
|
protected void |
requestTimeout(SessionRequest request)
|
protected abstract SocketAddress |
resolveLocalAddress(T route)
|
protected abstract SocketAddress |
resolveRemoteAddress(T route)
|
void |
setDefaultMaxPerRoute(int max)
|
void |
setMaxPerRoute(T route,
int max)
|
void |
setMaxTotal(int max)
|
void |
shutdown(long waitMs)
|
String |
toString()
|
AbstractNIOConnPool
public AbstractNIOConnPool(ConnectingIOReactor ioreactor,
int defaultMaxPerRoute,
int maxTotal)
resolveRemoteAddress
protected abstract SocketAddress resolveRemoteAddress(T route)
resolveLocalAddress
protected abstract SocketAddress resolveLocalAddress(T route)
createConnection
protected abstract C createConnection(T route,
IOSession session)
createEntry
protected abstract E createEntry(T route,
C conn)
closeEntry
protected abstract void closeEntry(E entry)
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 tunit,
FutureCallback<E> callback)
lease
public Future<E> lease(T route,
Object state,
FutureCallback<E> callback)
lease
public Future<E> lease(T route,
Object state)
release
public void release(E entry,
boolean reusable)
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:
setMaxTotal
in interface ConnPoolControl<T>
setDefaultMaxPerRoute
public void setDefaultMaxPerRoute(int max)
- Specified by:
setDefaultMaxPerRoute
in interface ConnPoolControl<T>
setMaxPerRoute
public void setMaxPerRoute(T route,
int max)
- Specified by:
setMaxPerRoute
in interface ConnPoolControl<T>
getTotalStats
public PoolStats getTotalStats()
- Specified by:
getTotalStats
in interface ConnPoolControl<T>
getStats
public PoolStats getStats(T route)
- Specified by:
getStats
in interface ConnPoolControl<T>
closeIdle
public void closeIdle(long idletime,
TimeUnit tunit)
closeExpired
public void closeExpired()
toString
public String toString()
- Overrides:
toString
in class Object
Copyright © 2005-2011 The Apache Software Foundation. All Rights Reserved.