java.lang.Object
org.rrd4j.core.RrdBackend
org.rrd4j.core.ByteBufferBackend
org.rrd4j.core.RrdMemoryBackend
Backend to be used to store all RRD bytes in memory.
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicReference<ByteBuffer> The buffer, replaced atomically when the file grows.Fields inherited from class RrdBackend
BYTEORDERModifier and TypeFieldDescriptionprotected static final ByteOrderAllByteBufferusage should use this standard order.Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRrdMemoryBackend(String path, AtomicReference<ByteBuffer> refbb) Path to the RRD file.Method Summary
Public MethodsModifier and TypeMethodDescriptionprotected voidclose()This method is required by the base class definition, but it does not releases any memory resources at all.longReturns the number of RRD bytes in the underlying storage.protected voidsetLength(long length) Sets the number of bytes in the underlying RRD storage.Methods inherited from class ByteBufferBackend
getCharBuffer, isDirty, read, readDouble, readDouble, readInt, readLong, readShort, rrdClose, setByteBuffer, write, writeDouble, writeDouble, writeDouble, writeInt, writeLong, writeShort, writeStringModifier and TypeMethodDescriptionprotected CharBuffergetCharBuffer(long offset, int size) Extract a CharBuffer from the backend, used by readStringprotected booleanisDirty()Check whether the buffer has been modified since the last sync.protected voidread(long offset, byte[] b) Reads a number of bytes from the RRD file on the diskdoublereadDouble(long offset) Reads a double value from the underlying storage at the given offset.double[]readDouble(long offset, int count) Reads an array of double values from the underlying storage at the given offset.protected intreadInt(long offset) Reads an integer value from the underlying storage at the given offset.protected longreadLong(long offset) Reads a long value from the underlying storage at the given offset.protected shortreadShort(long offset) Reads a short value from the underlying storage at the given offset.protected voidrrdClose()Closes the underlying backend.protected voidsetByteBuffer(ByteBuffer byteBuffer) Set the byte buffer to use for backing storage.protected voidwrite(long offset, byte[] b) Writes bytes to the underlying RRD file on the diskprotected voidwriteDouble(long offset, double value) Writes a double value to the underlying storage at the given offset.protected voidwriteDouble(long offset, double[] values) Writes an array of double values to the underlying storage at the given offset.protected voidwriteDouble(long offset, double value, int count) Writes multiple copies of a double value to the underlying storage at the given offset.protected voidwriteInt(long offset, int value) Writes an integer value to the underlying storage at the given offset.protected voidwriteLong(long offset, long value) Writes a long value to the underlying storage at the given offset.protected voidwriteShort(long offset, short value) Writes a short value to the underlying storage at the given offset.protected voidwriteString(long offset, String value, int length) Writes a string to the underlying storage at the given offset with a fixed length.Methods inherited from class RrdBackend
done, getFactory, getPath, getUri, isCachingAllowed, isInstanceCreated, readAll, readString, writeStringModifier and TypeMethodDescription(package private) voiddone(RrdBackendFactory factory, PhantomReference<RrdDb> ref) Set the factory and reference for this backend.Get the factory for this backend.getPath()Returns path to the storage.getUri()Return the URI associated to this backend, using the factory to generate it from the path.protected booleanThis method suggests the caching policy to the Rrd4j frontend (high-level) classes.(package private) static booleanChecks if a backend instance has been created.final byte[]readAll()Reads all RRD bytes from the underlying storage.protected final StringreadString(long offset) Reads a string from the underlying storage at the given offset.protected final voidwriteString(long offset, String value) Writes a string to the underlying storage at the given offset.
Field Details
refbb
The buffer, replaced atomically when the file grows.
Constructor Details
RrdMemoryBackend
Path to the RRD file.- Parameters:
path- path to the RRD filerefbb- atomic reference holding the byte buffer
Method Details
setLength
protected void setLength(long length) Description copied from class:RrdBackendSets the number of bytes in the underlying RRD storage. This method is called only once, immediately after a new RRD storage gets created.- Specified by:
setLengthin classRrdBackend- Parameters:
length- Length of the underlying RRD storage in bytes.
getLength
public long getLength()Description copied from class:RrdBackendReturns the number of RRD bytes in the underlying storage.- Specified by:
getLengthin classRrdBackend- Returns:
- Number of RRD bytes in the storage.
close
protected void close()This method is required by the base class definition, but it does not releases any memory resources at all.- Overrides:
closein classByteBufferBackend