private static SingleInstanceTracker[] getSingleInstanceTrackers(SnmpObjId base, SnmpInstId[] instances) { SingleInstanceTracker[] trackers = new SingleInstanceTracker[instances.length]; for (int i = 0; i < instances.length; i++) { trackers[i] = new SingleInstanceTracker(base, instances[i]); } return trackers; }
protected void receivedEndOfMib() { setFinished(true); }
@Override public boolean processErrors(int errorStatus, int errorIndex) throws SnmpException { if (m_retries == null) m_retries = getMaxRetries(); throw new SnmpException("Unable to handle tooBigError for oid request "+m_oid.decrement()); } else if (status == ErrorStatus.GEN_ERR) { reportGenErr("Received genErr requesting oid "+m_oid.decrement()+". Marking column as finished."); errorOccurred(); return true; } else if (status == ErrorStatus.NO_SUCH_NAME) { reportNoSuchNameErr("Received noSuchName requesting oid "+m_oid.decrement()+". Marking column as finished."); errorOccurred(); return true; } else if (status.isFatal()) { if (m_retries-- <= 0) { final ErrorStatusException ex = new ErrorStatusException(status, "Non-fatal error met maximum number of retries. Aborting!"); reportFatalErr(ex); throw ex; m_retries = getMaxRetries();
public void processResponse(SnmpObjId responseObjId, SnmpValue val) { log().debug("Processing varBind: "+responseObjId+" = "+val); if (val.isEndOfMib()) { receivedEndOfMib(); } if (m_oid.equals(responseObjId)) { storeResult(new SnmpResult(m_base, m_inst, val)); } setFinished(true); }
@Override public void processResponse(SnmpObjId responseObjId, SnmpValue val) { LOG.debug("Processing varBind: {} = {}", responseObjId, val); if (val.isEndOfMib()) { receivedEndOfMib(); } if (m_oid.equals(responseObjId)) { storeResult(new SnmpResult(m_base, m_inst, val)); } setFinished(true); }
public boolean processErrors(int errorStatus, int errorIndex) { if (errorStatus == NO_ERR) { return false; } else if (errorStatus == TOO_BIG_ERR) { throw new IllegalArgumentException("Unable to handle tooBigError for oid request "+m_oid.decrement()); } else if (errorStatus == GEN_ERR) { reportGenErr("Received genErr reqeusting oid "+m_oid.decrement()+". Marking column is finished."); errorOccurred(); return true; } else if (errorStatus == NO_SUCH_NAME_ERR) { reportNoSuchNameErr("Received noSuchName reqeusting oid "+m_oid.decrement()+". Marking column is finished."); errorOccurred(); return true; } else { throw new IllegalArgumentException("Unexpected error processing oid "+m_oid.decrement()+". Aborting!"); } } };
@Override public void setFailed(boolean failed) { super.setFailed(failed); LOG.trace("Collection Failed for metricObjId '{}'", metricObjId); collectionJob.setMetricValue(metricObjId, "unknown", null); }
@Override public void setTimedOut(boolean timedOut) { super.setTimedOut(timedOut); LOG.trace("Collection timedOut for metricObjId '{}'", metricObjId); collectionJob.setMetricValue(metricObjId, "unknown", null); }
@Override public void setFailed(boolean failed) { super.setFailed(failed); logger.trace("Collection Failed for metricObjId '{}'", metricObjId); collectionJob.setMetricValue(metricObjId, "unknown", null); }
@Override public void setTimedOut(boolean timedOut) { super.setTimedOut(timedOut); logger.trace("Collection timedOut for metricObjId '{}'", metricObjId); collectionJob.setMetricValue(metricObjId, "unknown", null); } };
protected void errorOccurred() { setFinished(true); }
private static SingleInstanceTracker[] getSingleInstanceTrackers(SnmpObjId base, SnmpInstId[] instances) { SingleInstanceTracker[] trackers = new SingleInstanceTracker[instances.length]; for (int i = 0; i < instances.length; i++) { trackers[i] = new SingleInstanceTracker(base, instances[i]); } return trackers; }
protected void receivedEndOfMib() { setFinished(true); }
/** * <p>getCollectionTracker</p> * * @param instances a {@link java.util.Set} object. * @return a {@link org.opennms.netmgt.snmp.CollectionTracker} object. */ public CollectionTracker getCollectionTracker(final Set<SnmpInstId> instances) { if ( instances == null ) { return m_isTabular ? new ColumnTracker(getSnmpObjId()) : new SingleInstanceTracker(getSnmpObjId(), SnmpInstId.INST_ZERO); } else { final Collection<Collectable> trackers = new ArrayList<>(); for(final SnmpInstId inst : instances) { trackers.add(new SingleInstanceTracker(getSnmpObjId(), inst)); } return new AggregateTracker(trackers); } }
protected void errorOccurred() { setFinished(true); }
@Override public void handleWalkResponses(List<WalkResponse> responses) { // Store the result responses.stream() .flatMap(res -> res.getResults().stream()) .filter(res -> m_oid.equals(SnmpObjId.get(res.getBase(), res.getInstance()))) .forEach(this::storeResult); setFinished(true); } }