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 AtomicBoolean
private final ConcurrentMap
<T, AbstractIOSessionPool.PoolEntry> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal void
close()
final void
Closes this process or endpoint and releases any system resources associated with it.final void
protected abstract void
closeSession
(IOSession ioSession, CloseMode closeMode) connectSession
(T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback) final void
enumAvailable
(Callback<IOSession> callback) (package private) AbstractIOSessionPool.PoolEntry
getPoolEntry
(T endpoint) getSession
(T endpoint, Timeout connectTimeout, FutureCallback<IOSession> callback) private void
getSessionInternal
(AbstractIOSessionPool.PoolEntry poolEntry, boolean requestNew, T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback) toString()
protected abstract void
validateSession
(IOSession ioSession, Callback<Boolean> callback)
-
Field Details
-
sessionPool
-
closed
-
-
Constructor Details
-
AbstractIOSessionPool
public AbstractIOSessionPool()
-
-
Method Details
-
connectSession
-
validateSession
-
closeSession
-
close
Description copied from interface:ModalCloseable
Closes 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:
close
in interfaceModalCloseable
- Parameters:
closeMode
- How to close the receiver.
-
close
public final void close()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
getPoolEntry
-
getSession
-
getSessionInternal
private void getSessionInternal(AbstractIOSessionPool.PoolEntry poolEntry, boolean requestNew, T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback) -
enumAvailable
-
closeIdle
-
getRoutes
-
toString
-