Type Parameters:
U - The type of RrdUpdater this primitive belongs to

class RrdLong<U extends RrdUpdater<U>>extends RrdPrimitive<U>
RRD primitive type for handling long integer values.

This class provides methods to store and retrieve long integer values in RRD files. It includes caching support for performance optimization when the backend allows it.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private long
    Value read from or written to the file.
    private boolean
    True while the cache holds the current value.

    Fields inherited from class RrdPrimitive

    RRD_DOUBLE, RRD_INT, RRD_LONG, RRD_PRIM_SIZES, RRD_STRING, STRING_LENGTH
    Modifier and Type
    Field
    Description
    (package private) static final int
    Type identifier for double RRD primitives.
    (package private) static final int
    Type identifier for integer RRD primitives.
    (package private) static final int
    Type identifier for long RRD primitives.
    (package private) static final int[]
    Array containing the size in bytes for each RRD primitive type.
    (package private) static final int
    Type identifier for string RRD primitives.
    (package private) static final int
    Maximum length of string values stored in RRD primitives.
  • Constructor Summary

    Constructors
    Constructor
    Description
    RrdLong(RrdUpdater<U> updater)
    Create a long primitive that is not flagged as constant.
    RrdLong(RrdUpdater<U> updater, boolean isConstant)
    Create a long primitive, optionally flagged as constant.
  • Method Summary

    All Methods
    Modifier and Type
    Method
    Description
    (package private) long
    get()
    Retrieve the stored long value.
    (package private) void
    set(long value)
    Store a long value with optional caching.

    Methods inherited from class RrdPrimitive

    isCachingAllowed, readBytes, readDouble, readDouble, readDouble, readEnum, readInt, readLong, readString, writeBytes, writeDouble, writeDouble, writeDouble, writeDouble, writeEnum, writeInt, writeLong, writeString
    Modifier and Type
    Method
    Description
    (package private) final boolean
    Checks if caching is allowed for this primitive.
    (package private) final byte[]
    Raw byte array from backend storage.
    (package private) final double
    Reads the double value from backend storage.
    (package private) final double
    readDouble(int index)
    Position in the primitive array.
    (package private) final double[]
    readDouble(int index, int count)
    Starting position in the primitive array.
    protected final <E extends Enum<E>>
    E
    readEnum(Class<E> clazz)
    Deserialize an enum value from backend storage.
    (package private) final int
    Reads the int value from backend storage.
    (package private) final long
    Reads the long value from backend storage.
    (package private) final String
    Reads the string value from backend storage.
    (package private) final void
    writeBytes(byte[] b)
    Byte array to write to backend storage.
    (package private) final void
    writeDouble(double value)
    Double value to write to backend storage.
    (package private) final void
    writeDouble(int index, double value)
    Position in the primitive array.
    (package private) final void
    writeDouble(int index, double[] values)
    Starting position in the primitive array.
    (package private) final void
    writeDouble(int index, double value, int count)
    Starting position in the primitive array.
    protected final <E extends Enum<E>>
    void
    writeEnum(E value)
    Serialize an enum value to backend storage.
    (package private) final void
    writeInt(int value)
    Int value to write to backend storage.
    (package private) final void
    writeLong(long value)
    Long value to write to backend storage.
    (package private) final void
    String value to write to backend storage.

    Methods inherited from class Object

    clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • cache

      private long cache
      Value read from or written to the file.
    • cached

      private boolean cached
      True while the cache holds the current value.
  • Constructor Details

    • RrdLong

      RrdLong(RrdUpdater<U> updater, boolean isConstant)
      Create a long primitive, optionally flagged as constant.
      Parameters:
      updater - the updater that owns this primitive
      isConstant - true to mark the value as constant, so the backend may skip storing it
    • RrdLong

      RrdLong(RrdUpdater<U> updater)
      Create a long primitive that is not flagged as constant.
      Parameters:
      updater - the updater that owns this primitive
  • Method Details

    • set

      void set(long value) throws IOException
      Store a long value with optional caching.
      Parameters:
      value - the long value to set
      Throws:
      IOException - if an I/O error occurs
    • get

      long get() throws IOException
      Retrieve the stored long value.
      Returns:
      the long value
      Throws:
      IOException - if an I/O error occurs