package jnetman.snmp;
import java.util.Arrays;
import org.snmp4j.smi.OID;
import org.snmp4j.smi.TimeTicks;
import org.snmp4j.smi.Variable;
public class TimedValues {
private Variable[] variables;
private long millis;
public TimedValues(OID[] oids, SnmpHelper mibHelper)
throws TimeoutException, SnmpErrorException, SnmpSyntaxException {
OID[] timedOids = Arrays.copyOf(oids, oids.length + 1);
// add a sysUpTime oid request as last
timedOids[oids.length] = new OID(MIB.sysUptime);
Variable[] timedVariables = mibHelper.getVariable(timedOids);
// last one is sysUpTime
millis = ((TimeTicks) timedVariables[oids.length]).toMilliseconds();
variables = Arrays.copyOf(timedVariables, oids.length);
}
public long getMillis() {
return this.millis;
}
public Variable[] getValues() {
return this.variables;
}
public long getMillisDiff(TimedValues finalValues) {
return finalValues.getMillis() - this.getMillis();
}
}