org.jrobin.core
Class RrdNioBackend

java.lang.Object
  extended by org.jrobin.core.RrdBackend
      extended by org.jrobin.core.RrdFileBackend
          extended by org.jrobin.core.RrdNioBackend

public class RrdNioBackend
extends 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
protected RrdNioBackend(String path, boolean readOnly, int syncPeriod)
          Creates RrdFileBackend object for the given file path, backed by java.nio.* classes.
 
Method Summary
 void close()
          Closes the underlying RRD file.
protected  void read(long offset, byte[] b)
          Reads a number of bytes from the RRD file on the disk
protected  void setLength(long newLength)
          Sets length of the underlying RRD file.
protected  void sync()
          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 Detail

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 Detail

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 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 RrdFileBackend
Parameters:
offset - Starting file offset
b - Bytes to be written.
Throws:
IOException - Thrown in case of I/O error

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 RrdFileBackend
Parameters:
offset - Starting file offset
b - Buffer which receives bytes read from the file.
Throws:
IOException - Thrown in case of I/O error.

close

public void close()
           throws IOException
Closes the underlying RRD file.

Overrides:
close in class 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.



Copyright 2003-2008. All Rights Reserved.