|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object rice.persistence.LRUCache
public class LRUCache
This class is an encapsulation of a least-recently-used (LRU) cache. It uses the provided storage service in order to store the cached data. If the Storage provides non-corruption services, these services will also be provided by this cache.
Field Summary | |
---|---|
protected Environment |
environment
|
Constructor Summary | |
---|---|
LRUCache(Storage storage,
int maximumSize,
Environment env)
Builds a LRU cache given a storage object to store the cached data in and a maximum cache size. |
Method Summary | |
---|---|
void |
cache(Id id,
java.io.Serializable metadata,
java.io.Serializable obj,
Continuation c)
Caches an object in this storage. |
boolean |
exists(Id id)
Returns whether or not an object is cached in the location id . |
void |
flush(Continuation c)
Method which is used to erase all data stored in the Cache. |
long |
getMaximumSize()
Returns the maximum size of the cache, in bytes. |
java.io.Serializable |
getMetadata(Id id)
Returns the metadata associated with the provided object, or null if no metadata exists. |
void |
getObject(Id id,
Continuation c)
Returns the object identified by the given id. |
int |
getSize()
Returns the number of Ids currently stored in the catalog |
Storage |
getStorage()
Returns the backing storage object |
long |
getTotalSize()
Returns the total size of the stored data in bytes. |
void |
rename(Id oldId,
Id newId,
Continuation c)
Renames the given object to the new id. |
IdSet |
scan()
Return all objects currently stored by this catalog NOTE: This method blocks so if the behavior of this method changes and no longer stored in memory, this method may be deprecated. |
IdSet |
scan(IdRange range)
Return the objects identified by the given range of ids. |
java.util.SortedMap |
scanMetadata()
Returns a map which contains keys mapping ids to the associated metadata. |
java.util.SortedMap |
scanMetadata(IdRange range)
Returns a map which contains keys mapping ids to the associated metadata. |
java.util.SortedMap |
scanMetadataValuesHead(java.lang.Object value)
Returns the submapping of ids which have metadata less than the provided value. |
java.util.SortedMap |
scanMetadataValuesNull()
Returns the submapping of ids which have metadata null |
void |
setMaximumSize(int size,
Continuation c)
Sets the maximum size of the cache, in bytes. |
void |
setMetadata(Id id,
java.io.Serializable metadata,
Continuation command)
Updates the metadata stored under the given key to be the provided value. |
void |
uncache(Id id,
Continuation c)
Removes the object from the list of cached objects. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Environment environment
Constructor Detail |
---|
public LRUCache(Storage storage, int maximumSize, Environment env)
storage
- The storage service to use as a back-end storagemaximumSize
- The maximum size, in bytes, of storage to useMethod Detail |
---|
public Storage getStorage()
public void rename(Id oldId, Id newId, Continuation c)
rename
in interface Catalog
oldId
- The id of the object in question.newId
- The new id of the object in question.c
- The command to run once the operation is completepublic void cache(Id id, java.io.Serializable metadata, java.io.Serializable obj, Continuation c)
uncachr(id)
followed
by cache(id, obj)
. This method finishes by calling
receiveResult() on the provided continuation with whether or not
the object was cached. Note that the object may not actually be
cached due to the cache replacement policy.
Returns True
if the cache actaully stores the object, else
False
(through receiveResult on c).
cache
in interface Cache
id
- The object's id.metadata
- The object's metadataobj
- The object to cache.c
- The command to run once the operation is completepublic void uncache(Id id, Continuation c)
False
is returned.
Returns True
if the action succeeds, else
False
(through receiveResult on c).
uncache
in interface Cache
pid
- The object's idc
- The command to run once the operation is completepublic boolean exists(Id id)
id
.
exists
in interface Catalog
id
- The id of the object in question.
public void getObject(Id id, Continuation c)
getObject
in interface Catalog
id
- The id of the object in question.c
- The command to run once the operation is completepublic java.io.Serializable getMetadata(Id id)
getMetadata
in interface Catalog
id
- The id for which the metadata is needed
public void setMetadata(Id id, java.io.Serializable metadata, Continuation command)
setMetadata
in interface Catalog
id
- The id for the metadatametadata
- The metadata to storec
- The command to run once the operation is completepublic IdSet scan(IdRange range)
scan
in interface Catalog
range
- The range to query
public IdSet scan()
scan
in interface Catalog
public java.util.SortedMap scanMetadata(IdRange range)
scanMetadata
in interface Catalog
range
- The range to query
public java.util.SortedMap scanMetadata()
scanMetadata
in interface Catalog
public java.util.SortedMap scanMetadataValuesHead(java.lang.Object value)
scanMetadataValuesHead
in interface Catalog
value
- The maximal metadata value
public java.util.SortedMap scanMetadataValuesNull()
scanMetadataValuesNull
in interface Catalog
public long getMaximumSize()
getMaximumSize
in interface Cache
c
- The command to run once the operation is completepublic int getSize()
getSize
in interface Catalog
public long getTotalSize()
getTotalSize
in interface Catalog
c
- The command to run once the operation is complete
public void setMaximumSize(int size, Continuation c)
setMaximumSize
in interface Cache
size
- The new maximum size, in bytes, of the cache.c
- The command to run once the operation is completepublic void flush(Continuation c)
flush
in interface Catalog
c
- The command to run once done
|
Rice Pastry API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |