backtype.storm.utils
Class RotatingMap<K,V>
java.lang.Object
backtype.storm.utils.RotatingMap<K,V>
public class RotatingMap<K,V>
- extends Object
Expires keys that have not been updated in the configured number of seconds.
The algorithm used will take between expirationSecs and
expirationSecs * (1 + 1 / (numBuckets-1)) to actually expire the message.
get, put, remove, containsKey, and size take O(numBuckets) time to run.
The advantage of this design is that the expiration thread only locks the object
for O(1) time, meaning the object is essentially always available for gets/puts.
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
RotatingMap
public RotatingMap(int numBuckets,
RotatingMap.ExpiredCallback<K,V> callback)
RotatingMap
public RotatingMap(RotatingMap.ExpiredCallback<K,V> callback)
RotatingMap
public RotatingMap(int numBuckets)
rotate
public Map<K,V> rotate()
containsKey
public boolean containsKey(K key)
get
public V get(K key)
put
public void put(K key,
V value)
remove
public Object remove(K key)
size
public int size()
Copyright © 2014 The Apache Software Foundation. All Rights Reserved.