RrdUpdaterpublic class Robin extends Object implements RrdUpdater
Robin object does not hold values in memory - such object could be quite large. Instead of it, Robin reads them from the backend I/O only when necessary.
| Constructor | Description |
|---|---|
Robin(Archive parentArc,
int rows,
boolean shouldInitialize) |
| Modifier and Type | Method | Description |
|---|---|---|
(package private) void |
bulkStore(double newValue,
int bulkCount) |
|
void |
copyStateTo(RrdUpdater other) |
Copies object's internal state to another Robin object.
|
(package private) String |
dump() |
|
void |
filterValues(double minValue,
double maxValue) |
Filters values stored in this archive based on the given boundary.
|
Archive |
getParent() |
Returns the Archive object to which this Robin object belongs.
|
RrdAllocator |
getRrdAllocator() |
Required to implement RrdUpdater interface.
|
RrdBackend |
getRrdBackend() |
Returns the underlying storage (backend) object which actually performs all
I/O operations.
|
int |
getSize() |
Returns the size of the underlying array of archived values.
|
double |
getValue(int index) |
Returns the i-th value from the Robin archive.
|
double[] |
getValues() |
Fetches all archived values.
|
(package private) double[] |
getValues(int index,
int count) |
|
void |
setValue(int index,
double value) |
Sets the i-th value in the Robin archive.
|
void |
setValues(double newValue) |
(Re)sets all values in this archive to the same value.
|
void |
setValues(double[] newValues) |
Updates archived values in bulk.
|
(package private) void |
store(double newValue) |
|
(package private) void |
update(double[] newValues) |
Robin(Archive parentArc, int rows, boolean shouldInitialize) throws IOException
IOExceptionpublic double[] getValues()
throws IOException
IOException - Thrown in case of I/O specific error.void store(double newValue)
throws IOException
IOExceptionvoid bulkStore(double newValue,
int bulkCount)
throws IOException
IOExceptionvoid update(double[] newValues)
throws IOException
IOExceptionpublic void setValues(double[] newValues)
throws IOException,
RrdException
newValues - Array of double values to be stored in the archiveIOException - Thrown in case of I/O errorRrdException - Thrown if the length of the input array is different from the length of
this archivepublic void setValues(double newValue)
throws IOException
newValue - New valueIOException - Thrown in case of I/O errorString dump() throws IOException
IOExceptionpublic double getValue(int index)
throws IOException
index - Value indexIOException - Thrown in case of I/O specific error.public void setValue(int index,
double value)
throws IOException
index - index in the archive (the oldest value has zero index)value - value to be storedIOException - Thrown in case of I/O specific error.double[] getValues(int index,
int count)
throws IOException
IOExceptionpublic Archive getParent()
public int getSize()
public void copyStateTo(RrdUpdater other) throws IOException, RrdException
copyStateTo in interface RrdUpdaterother - New Robin object to copy state toIOException - Thrown in case of I/O errorRrdException - Thrown if supplied argument is not a Robin objectpublic void filterValues(double minValue,
double maxValue)
throws IOException
[minValue, maxValue] interval (inclusive)
will be silently replaced with NaN.minValue - lower boundarymaxValue - upper boundaryIOException - Thrown in case of I/O errorpublic RrdBackend getRrdBackend()
getRrdBackend in interface RrdUpdaterpublic RrdAllocator getRrdAllocator()
getRrdAllocator in interface RrdUpdater