org.jrobin.core

Class 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 StringNAME
factory name, "MEMORY"
Method Summary
booleandelete(String id)
Removes the storage with the given ID from the memory.
protected booleanexists(String id)
Method to determine if a memory storage with the given ID already exists.
StringgetFactoryName()
Returns the name of this factory.
protected RrdBackendopen(String id, boolean readOnly)
Creates RrdMemoryBackend object.

Field Detail

NAME

public static final String NAME
factory name, "MEMORY"

Method Detail

delete

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

Parameters: id Storage ID

Returns: True, if the storage with the given ID is deleted, false otherwise.

exists

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

Parameters: id Memory storage ID.

Returns: True, if such storage exists, false otherwise.

getFactoryName

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

Returns: Factory name (equals to "MEMORY").

open

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

Parameters: 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

Returns: RrdMemoryBackend object which handles all I/O operations

Throws: IOException Thrown in case of I/O error.