Package org.apache.hc.core5.reactor
Class AbstractIOSessionPool<T>
java.lang.Object
org.apache.hc.core5.reactor.AbstractIOSessionPool<T>
- All Implemented Interfaces:
Closeable,AutoCloseable,ModalCloseable
- Direct Known Subclasses:
H2ConnPool
@Contract(threading=SAFE)
public abstract class AbstractIOSessionPool<T>
extends Object
implements ModalCloseable
- Since:
- 5.0
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicBooleanprivate final ConcurrentMap<T, AbstractIOSessionPool.PoolEntry> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal voidclose()final voidCloses this process or endpoint and releases any system resources associated with it.final voidprotected abstract voidcloseSession(IOSession ioSession, CloseMode closeMode) connectSession(T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback) final voidenumAvailable(Callback<IOSession> callback) (package private) AbstractIOSessionPool.PoolEntrygetPoolEntry(T endpoint) getSession(T endpoint, Timeout connectTimeout, FutureCallback<IOSession> callback) private voidgetSessionInternal(AbstractIOSessionPool.PoolEntry poolEntry, boolean requestNew, T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback) toString()protected abstract voidvalidateSession(IOSession ioSession, Callback<Boolean> callback)
-
Field Details
-
sessionPool
-
closed
-
-
Constructor Details
-
AbstractIOSessionPool
public AbstractIOSessionPool()
-
-
Method Details
-
connectSession
-
validateSession
-
closeSession
-
close
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 interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
getPoolEntry
-
getSession
-
getSessionInternal
private void getSessionInternal(AbstractIOSessionPool.PoolEntry poolEntry, boolean requestNew, T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback) -
enumAvailable
-
closeIdle
-
getRoutes
-
toString
-