Package org.apache.hc.core5.reactor
Class AbstractIOSessionPool<T>
- java.lang.Object
-
- org.apache.hc.core5.reactor.AbstractIOSessionPool<T>
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,ModalCloseable
- Direct Known Subclasses:
H2ConnPool
@Contract(threading=SAFE) public abstract class AbstractIOSessionPool<T> extends java.lang.Object implements ModalCloseable
- Since:
- 5.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classAbstractIOSessionPool.PoolEntry
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicBooleanclosedprivate java.util.concurrent.ConcurrentMap<T,AbstractIOSessionPool.PoolEntry>sessionPool
-
Constructor Summary
Constructors Constructor Description AbstractIOSessionPool()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidclose()voidclose(CloseMode closeMode)Closes this process or endpoint and releases any system resources associated with it.voidcloseIdle(TimeValue idleTime)protected abstract voidcloseSession(IOSession ioSession, CloseMode closeMode)protected abstract java.util.concurrent.Future<IOSession>connectSession(T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback)voidenumAvailable(Callback<IOSession> callback)(package private) AbstractIOSessionPool.PoolEntrygetPoolEntry(T endpoint)java.util.Set<T>getRoutes()java.util.concurrent.Future<IOSession>getSession(T endpoint, Timeout connectTimeout, FutureCallback<IOSession> callback)private voidgetSessionInternal(AbstractIOSessionPool.PoolEntry poolEntry, boolean requestNew, T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback)java.lang.StringtoString()protected abstract voidvalidateSession(IOSession ioSession, Callback<java.lang.Boolean> callback)
-
-
-
Field Detail
-
sessionPool
private final java.util.concurrent.ConcurrentMap<T,AbstractIOSessionPool.PoolEntry> sessionPool
-
closed
private final java.util.concurrent.atomic.AtomicBoolean closed
-
-
Method Detail
-
connectSession
protected abstract java.util.concurrent.Future<IOSession> connectSession(T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback)
-
validateSession
protected abstract void validateSession(IOSession ioSession, Callback<java.lang.Boolean> callback)
-
close
public final void close(CloseMode closeMode)
Description copied from interface:ModalCloseableCloses this process or endpoint and releases any system resources associated with it. If the endpoint or the process is already closed then invoking this method has no effect.- Specified by:
closein interfaceModalCloseable- Parameters:
closeMode- How to close the receiver.
-
close
public final void close()
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-
getPoolEntry
AbstractIOSessionPool.PoolEntry getPoolEntry(T endpoint)
-
getSession
public final java.util.concurrent.Future<IOSession> getSession(T endpoint, Timeout connectTimeout, FutureCallback<IOSession> callback)
-
getSessionInternal
private void getSessionInternal(AbstractIOSessionPool.PoolEntry poolEntry, boolean requestNew, T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback)
-
closeIdle
public final void closeIdle(TimeValue idleTime)
-
getRoutes
public final java.util.Set<T> getRoutes()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-