abstract class RouteSpecificPool<T,C,E extends PoolEntry<T,C>>
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private java.util.LinkedList<E> |
available |
private java.util.Set<E> |
leased |
private java.util.Map<SessionRequest,BasicFuture<E>> |
pending |
private T |
route |
Constructor and Description |
---|
RouteSpecificPool(T route) |
Modifier and Type | Method and Description |
---|---|
void |
addPending(SessionRequest request,
BasicFuture<E> future) |
void |
cancelled(SessionRequest request) |
boolean |
completed(SessionRequest request,
E entry) |
E |
createEntry(SessionRequest request,
C conn) |
protected abstract E |
createEntry(T route,
C conn) |
void |
failed(SessionRequest request,
java.lang.Exception ex) |
void |
free(E entry,
boolean reusable) |
int |
getAllocatedCount() |
int |
getAvailableCount() |
E |
getFree(java.lang.Object state) |
E |
getLastUsed() |
int |
getLeasedCount() |
int |
getPendingCount() |
T |
getRoute() |
boolean |
remove(E entry) |
private BasicFuture<E> |
removeRequest(SessionRequest request) |
void |
shutdown() |
void |
timeout(SessionRequest request) |
java.lang.String |
toString() |
private final T route
private final java.util.Map<SessionRequest,BasicFuture<E extends PoolEntry<T,C>>> pending
RouteSpecificPool(T route)
public T getRoute()
public int getLeasedCount()
public int getPendingCount()
public int getAvailableCount()
public int getAllocatedCount()
public E getFree(java.lang.Object state)
public E getLastUsed()
public boolean remove(E entry)
public void free(E entry, boolean reusable)
public void addPending(SessionRequest request, BasicFuture<E> future)
private BasicFuture<E> removeRequest(SessionRequest request)
public E createEntry(SessionRequest request, C conn)
public boolean completed(SessionRequest request, E entry)
public void cancelled(SessionRequest request)
public void failed(SessionRequest request, java.lang.Exception ex)
public void timeout(SessionRequest request)
public void shutdown()
public java.lang.String toString()
toString
in class java.lang.Object