Class RrdMemoryBackendFactory

  extended by org.jrobin.core.RrdBackendFactory
      extended by org.jrobin.core.RrdMemoryBackendFactory

public class RrdMemoryBackendFactory
extends RrdBackendFactory

Factory class which creates actual RrdMemoryBackend objects. JRobin's support for in-memory RRDs is still experimental. You should know that all active RrdMemoryBackend objects are held in memory, each backend object stores RRD data in one big byte array. This implementation is therefore quite basic and memory hungry but runs very fast.

Calling close() on RrdDb objects does not release any memory at all (RRD data must be available for the next new RrdDb(path) call. To release allocated memory, you'll have to call delete(path) method of this class.

Field Summary
static String NAME
          factory name, "MEMORY"
Constructor Summary
Method Summary
 boolean delete(String id)
          Removes the storage with the given ID from the memory.
protected  boolean exists(String id)
          Method to determine if a memory storage with the given ID already exists.
 String getFactoryName()
          Returns the name of this factory.
protected  RrdBackend open(String id, boolean readOnly)
          Creates RrdMemoryBackend object.
Methods inherited from class org.jrobin.core.RrdBackendFactory
getDefaultFactory, getFactory, registerAndSetAsDefaultFactory, registerFactory, setDefaultFactory
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail


public static final String NAME
factory name, "MEMORY"

See Also:
Constant Field Values
Constructor Detail


public RrdMemoryBackendFactory()
Method Detail


protected RrdBackend open(String id,
                          boolean readOnly)
                   throws IOException
Creates RrdMemoryBackend object.

Specified by:
open in class RrdBackendFactory
id - Since this backend holds all data in memory, this argument is interpreted as an ID for this memory-based storage.
readOnly - This parameter is ignored
RrdMemoryBackend object which handles all I/O operations
IOException - Thrown in case of I/O error.


protected boolean exists(String id)
Method to determine if a memory storage with the given ID already exists.

Specified by:
exists in class RrdBackendFactory
id - Memory storage ID.
True, if such storage exists, false otherwise.


public boolean delete(String id)
Removes the storage with the given ID from the memory.

id - Storage ID
True, if the storage with the given ID is deleted, false otherwise.


public String getFactoryName()
Returns the name of this factory.

Specified by:
getFactoryName in class RrdBackendFactory
Factory name (equals to "MEMORY").

Copyright 2003-2008. All Rights Reserved.