Class RrdNioBackend

java.lang.Object
org.jrobin.core.RrdBackend
org.jrobin.core.RrdFileBackend
net.bull.javamelody.internal.model.RrdNioBackend

public class RrdNioBackend extends org.jrobin.core.RrdFileBackend
JRobin backend which is used to store RRD data to ordinary disk files by using fast java.nio.* package. This is the default backend engine since JRobin 1.4.0.
  • Field Summary

    Fields inherited from class org.jrobin.core.RrdFileBackend

    file, readOnly
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    RrdNioBackend(String path, boolean readOnly, int syncPeriod)
    Creates RrdFileBackend object for the given file path, backed by java.nio.* classes.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes the underlying RRD file.
    static Timer
     
    protected void
    read(long offset, byte[] b)
    Reads a number of bytes from the RRD file on the disk
    static void
    Sets the timer.
    protected void
    setLength(long newLength)
    Sets length of the underlying RRD file.
    protected void
    This method forces all data cached in memory but not yet stored in the file, to be stored in it.
    protected void
    write(long offset, byte[] b)
    Writes bytes to the underlying RRD file on the disk

    Methods inherited from class org.jrobin.core.RrdFileBackend

    getCanonicalPath, getCanonicalPath, getLength

    Methods inherited from class org.jrobin.core.RrdBackend

    getPath, isCachingAllowed, readAll

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RrdNioBackend

      protected RrdNioBackend(String path, boolean readOnly, int syncPeriod) throws IOException
      Creates RrdFileBackend object for the given file path, backed by java.nio.* classes.
      Parameters:
      path - Path to a file
      readOnly - True, if file should be open in a read-only mode. False otherwise
      syncPeriod - See RrdNioBackendFactory.setSyncPeriod(int) for explanation
      Throws:
      IOException - Thrown in case of I/O error
  • Method Details

    • getFileSyncTimer

      public static Timer getFileSyncTimer()
      Returns:
      The timer to synchronize files.
    • setFileSyncTimer

      public static void setFileSyncTimer(Timer timer)
      Sets the timer.
      Parameters:
      timer - timer to synchronize files.
    • setLength

      protected void setLength(long newLength) throws IOException
      Sets length of the underlying RRD file. This method is called only once, immediately after a new RRD file gets created.
      Overrides:
      setLength in class org.jrobin.core.RrdFileBackend
      Parameters:
      newLength - Length of the RRD file
      Throws:
      IOException - Thrown in case of I/O error.
    • write

      protected void write(long offset, byte[] b) throws IOException
      Writes bytes to the underlying RRD file on the disk
      Overrides:
      write in class org.jrobin.core.RrdFileBackend
      Parameters:
      offset - Starting file offset
      b - Bytes to be written.
      Throws:
      IOException
    • read

      protected void read(long offset, byte[] b) throws IOException
      Reads a number of bytes from the RRD file on the disk
      Overrides:
      read in class org.jrobin.core.RrdFileBackend
      Parameters:
      offset - Starting file offset
      b - Buffer which receives bytes read from the file.
      Throws:
      IOException
    • close

      public void close() throws IOException
      Closes the underlying RRD file.
      Overrides:
      close in class org.jrobin.core.RrdFileBackend
      Throws:
      IOException - Thrown in case of I/O error
    • sync

      protected void sync()
      This method forces all data cached in memory but not yet stored in the file, to be stored in it.