java.lang.Object
org.rrd4j.core.RrdBackend
org.rrd4j.core.RrdRandomAccessFileBackend
- All Implemented Interfaces:
RrdFileBackend
- Direct Known Subclasses:
RrdSafeFileBackend
Backend which is used to store RRD data to ordinary files on the disk. This was the default factory before 1.4.0 version. This backend is based on the RandomAccessFile class (java.io.* package).
Field Summary
FieldsFields inherited from class RrdBackend
BYTEORDERModifier and TypeFieldDescriptionprotected static final ByteOrderAllByteBufferusage should use this standard order.Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedRrdRandomAccessFileBackend(String path, boolean readOnly) Creates RrdFileBackend object for the given file path, backed byRandomAccessFileobject.Method Summary
Public MethodsModifier and TypeMethodDescriptionprotected voidclose()Closes the underlying RRD file.Returns canonical path to the file on the disk.longReturns the number of RRD bytes in the underlying storage.voidread(long offset, byte[] b) Reads a number of bytes from the RRD file on the diskprotected voidsetLength(long length) Sets the number of bytes in the underlying RRD storage.protected voidwrite(long offset, byte[] b) Writes bytes to the underlying RRD file on the diskMethods inherited from class RrdBackend
done, getCharBuffer, getFactory, getPath, getUri, isCachingAllowed, isInstanceCreated, readAll, readDouble, readDouble, readInt, readLong, readShort, readString, rrdClose, writeDouble, writeDouble, writeDouble, writeInt, writeLong, writeShort, writeString, writeStringModifier and TypeMethodDescription(package private) voiddone(RrdBackendFactory factory, PhantomReference<RrdDb> ref) Set the factory and reference for this backend.protected CharBuffergetCharBuffer(long offset, int size) Extract a CharBuffer from the backend, used by readStringGet 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 doublereadDouble(long offset) Reads a double value from the underlying storage at the given offset.protected 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 final StringreadString(long offset) Reads a string from the underlying storage at the given offset.protected voidrrdClose()Closes the underlying backend.protected 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 final voidwriteString(long offset, String value) Writes a string 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.
Field Details
rafile
Random access file handle.
Constructor Details
RrdRandomAccessFileBackend
Creates RrdFileBackend object for the given file path, backed byRandomAccessFileobject.- Parameters:
path- Path to a filereadOnly- True, if file should be open in a read-only mode. False otherwise- Throws:
IOException- Thrown in case of I/O error
Method Details
close
Closes the underlying RRD file.- Specified by:
closein classRrdBackend- Throws:
IOException- Thrown in case of I/O error
write
Writes bytes to the underlying RRD file on the disk- Specified by:
writein classRrdBackend- Parameters:
offset- Starting file offsetb- Bytes to be written.- Throws:
IOException- Thrown in case of I/O error
read
Reads a number of bytes from the RRD file on the disk- Specified by:
readin classRrdBackend- Parameters:
offset- Starting file offsetb- Buffer which receives bytes read from the file.- Throws:
IOException- Thrown in case of I/O error.
getCanonicalPath
Description copied from interface:RrdFileBackendReturns canonical path to the file on the disk.- Specified by:
getCanonicalPathin interfaceRrdFileBackend- Returns:
- Canonical file path
getLength
Returns the number of RRD bytes in the underlying storage.- Specified by:
getLengthin classRrdBackend- Returns:
- Number of RRD bytes in the storage.
- Throws:
IOException- Thrown in case of I/O error.
setLength
Sets the number of bytes in the underlying RRD storage. This method is called only once, immediately after a new RRD storage gets created.Sets length of the underlying RRD file. This method is called only once, immediately after a new RRD file gets created.
- Specified by:
setLengthin classRrdBackend- Parameters:
length- Length of the underlying RRD storage in bytes.- Throws:
IOException- Thrown in case of I/O error.