voldemort.utils.pool
Class KeyedResourcePool.Pool<V>
java.lang.Object
voldemort.utils.pool.KeyedResourcePool.Pool<V>
- Enclosing class:
- KeyedResourcePool<K,V>
protected static class KeyedResourcePool.Pool<V>
- extends java.lang.Object
A fixed size pool that uses an ArrayBlockingQueue. The pool grows to no
more than some specified maxPoolSize. The pool creates new resources in
the face of existing resources being destroyed.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
KeyedResourcePool.Pool
public KeyedResourcePool.Pool(ResourcePoolConfig resourcePoolConfig)
attemptGrow
public <K> boolean attemptGrow(K key,
ResourceFactory<K,V> objectFactory)
throws java.lang.Exception
- If there is room in the pool, attempt to to create a new resource and
add it to the pool. This method is cheap to call even if the pool is
full (i.e., the first thing it does is looks a the current size of
the pool relative to the max pool size.
- Parameters:
key
- objectFactory
-
- Returns:
- True if and only if a resource was successfully added to the
pool.
- Throws:
java.lang.Exception
- if there are issues creating a new object, or
destroying newly created object that could not be added to
the pool.
nonBlockingGet
public V nonBlockingGet()
blockingGet
public V blockingGet(long timeoutNs)
throws java.lang.InterruptedException
- Throws:
java.lang.InterruptedException
nonBlockingPut
public boolean nonBlockingPut(V v)
close
public java.util.List<V> close()
Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao, Chinmay Soman, Vinoth Chandar, Zhongjie Wu