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 class
AbstractIOSessionPool.PoolEntry
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.atomic.AtomicBoolean
closed
private 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 void
close()
void
close(CloseMode closeMode)
Closes this process or endpoint and releases any system resources associated with it.void
closeIdle(TimeValue idleTime)
protected abstract void
closeSession(IOSession ioSession, CloseMode closeMode)
protected abstract java.util.concurrent.Future<IOSession>
connectSession(T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback)
void
enumAvailable(Callback<IOSession> callback)
(package private) AbstractIOSessionPool.PoolEntry
getPoolEntry(T endpoint)
java.util.Set<T>
getRoutes()
java.util.concurrent.Future<IOSession>
getSession(T endpoint, Timeout connectTimeout, FutureCallback<IOSession> callback)
private void
getSessionInternal(AbstractIOSessionPool.PoolEntry poolEntry, boolean requestNew, T namedEndpoint, Timeout connectTimeout, FutureCallback<IOSession> callback)
java.lang.String
toString()
protected abstract void
validateSession(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: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 interfacejava.lang.AutoCloseable
- Specified by:
close
in 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:
toString
in classjava.lang.Object
-
-