/** * Perform a SNMP walk and returns the list of {@link TreeEvent} * @return the list of {@link TreeEvent} */ public List<TreeEvent> walk() { TreeUtils treeUtils = new TreeUtils(this.snmp, new DefaultPDUFactory()); @SuppressWarnings("unchecked") List<TreeEvent> events = treeUtils.getSubtree(this.target, this.oid); return events; }
final WalkCounts counts = new WalkCounts(); final long startTime = System.currentTimeMillis(); TreeUtils treeUtils = new TreeUtils(snmp, pduFactory); if (settings.containsKey("ilo")) { treeUtils.setIgnoreLexicographicOrder(true); treeUtils.getSubtree(target, rootOID, null, treeListener); try { treeListener.wait();
public SnmpUriResponse browse(URI url) throws UnknownHostException { SnmpUriResponse response = new SnmpUriResponse(PDU.genErr); Request request = createSnmpRequest(url); PDU pdu = request.getPdu(); switch (request.getType()) { case GET: pdu.setType(PDU.GET); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); response = sendSnmpRequest(request, pdu); break; case NEXT: pdu.setType(PDU.GETNEXT); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); response = sendSnmpRequest(request, pdu); break; case SUBTREE: TreeUtils treeUtils = new TreeUtils(snmp, pduFactory); List<TreeEvent> treeEventList = treeUtils.walk(request.getTarget(), request.getOIDs()); List<VariableBinding[]> vbs = new ArrayList<VariableBinding[]>(treeEventList.size()); int errorStatus = PDU.noError; for (TreeEvent treeEvent : treeEventList) { vbs.add(treeEvent.getVariableBindings()); errorStatus = treeEvent.getStatus(); } response = new SnmpUriResponse(vbs, errorStatus); break; } return response; }
/** * Gets a subtree with GETNEXT (SNMPv1) or GETBULK (SNMP2c, SNMPv3) operations * from the specified target asynchronously. * * @param target * a <code>Target</code> that specifies the target command responder * including its network transport address. * @param rootOID * the OID that specifies the root of the sub-tree to retrieve * (not included). * @param userObject * an optional user object that will be transparently handed over to the * supplied <code>TreeListener</code>. * @param listener * the <code>TreeListener</code> that processes the {@link TreeEvent}s * generated by this method. Each event object may carry zero or more * object instances from the sub-tree in depth-first-order. */ public void getSubtree(Target target, OID rootOID, Object userObject, TreeListener listener) { walk(target, new OID[] { rootOID }, userObject, listener); }
public SnmpUriResponse browse(URI url) throws UnknownHostException { SnmpUriResponse response = new SnmpUriResponse(PDU.genErr); Request request = createSnmpRequest(url); PDU pdu = request.getPdu(); switch (request.getType()) { case GET: pdu.setType(PDU.GET); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); response = sendSnmpRequest(request, pdu); break; case NEXT: pdu.setType(PDU.GETNEXT); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); response = sendSnmpRequest(request, pdu); break; case SUBTREE: TreeUtils treeUtils = new TreeUtils(snmp, pduFactory); List<TreeEvent> treeEventList = treeUtils.walk(request.getTarget(), request.getOIDs()); List<VariableBinding[]> vbs = new ArrayList<VariableBinding[]>(treeEventList.size()); int errorStatus = PDU.noError; for (TreeEvent treeEvent : treeEventList) { vbs.add(treeEvent.getVariableBindings()); errorStatus = treeEvent.getStatus(); } response = new SnmpUriResponse(vbs, errorStatus); break; } return response; }
/** * Gets a subtree with GETNEXT (SNMPv1) or GETBULK (SNMP2c, SNMPv3) operations * from the specified target asynchronously. * * @param target * a <code>Target</code> that specifies the target command responder * including its network transport address. * @param rootOID * the OID that specifies the root of the sub-tree to retrieve * (not included). * @param userObject * an optional user object that will be transparently handed over to the * supplied <code>TreeListener</code>. * @param listener * the <code>TreeListener</code> that processes the {@link TreeEvent}s * generated by this method. Each event object may carry zero or more * object instances from the sub-tree in depth-first-order. */ public void getSubtree(Target target, OID rootOID, Object userObject, TreeListener listener) { walk(target, new OID[] { rootOID }, userObject, listener); }
/** * Perform a SNMP walk and returns the list of {@link TreeEvent} * @return the list of {@link TreeEvent} */ public List<TreeEvent> walk() { TreeUtils treeUtils = new TreeUtils(this.snmp, new DefaultPDUFactory()); @SuppressWarnings("unchecked") List<TreeEvent> events = treeUtils.getSubtree(this.target, this.oid); return events; }
public void browse(URI url, SnmpUriCallback callback, Object userObject) throws UnknownHostException { Request request = createSnmpRequest(url); PDU pdu = request.getPdu(); switch (request.getType()) { case GET: pdu.setType(PDU.GET); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); sendSnmpRequest(request, pdu, url, callback, userObject); break; case NEXT: pdu.setType(PDU.GETNEXT); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); sendSnmpRequest(request, pdu, url, callback, userObject); break; case SUBTREE: TreeUtils treeUtils = new TreeUtils(snmp, pduFactory); TreeListener treeListener = new AsyncTreeListener(url, callback); treeUtils.walk(request.getTarget(), request.getOIDs(), userObject, treeListener); break; } }
/** * Gets a subtree with GETNEXT (SNMPv1) or GETBULK (SNMP2c, SNMPv3) operations * from the specified target asynchronously. * * @param target * a <code>Target</code> that specifies the target command responder * including its network transport address. * @param rootOID * the OID that specifies the root of the sub-tree to retrieve * (not included). * @param userObject * an optional user object that will be transparently handed over to the * supplied <code>TreeListener</code>. * @param listener * the <code>TreeListener</code> that processes the {@link TreeEvent}s * generated by this method. Each event object may carry zero or more * object instances from the sub-tree in depth-first-order. */ public void getSubtree(Target target, OID rootOID, Object userObject, TreeListener listener) { walk(target, rootOID, rootOID, userObject, listener); }
final WalkCounts counts = new WalkCounts(); final long startTime = System.currentTimeMillis(); TreeUtils treeUtils = new TreeUtils(snmp, this); TreeListener treeListener = new TreeListener() { treeUtils.getSubtree(target, rootOID, null, treeListener); try { treeListener.wait();
public void browse(URI url, SnmpUriCallback callback, Object userObject) throws UnknownHostException { Request request = createSnmpRequest(url); PDU pdu = request.getPdu(); switch (request.getType()) { case GET: pdu.setType(PDU.GET); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); sendSnmpRequest(request, pdu, url, callback, userObject); break; case NEXT: pdu.setType(PDU.GETNEXT); pdu.addAll(VariableBinding.createFromOIDs(request.getOIDs())); sendSnmpRequest(request, pdu, url, callback, userObject); break; case SUBTREE: TreeUtils treeUtils = new TreeUtils(snmp, pduFactory); TreeListener treeListener = new AsyncTreeListener(url, callback); treeUtils.walk(request.getTarget(), request.getOIDs(), userObject, treeListener); break; } }
/** * Gets a subtree with GETNEXT (SNMPv1) or GETBULK (SNMP2c, SNMPv3) operations * from the specified target synchronously. * * @param target * a <code>Target</code> that specifies the target command responder * including its network transport address. * @param rootOID * the OID that specifies the root of the sub-tree to retrieve * (not included). * @return * a possibly empty List of <code>TreeEvent</code> instances where each * instance carries zero or more values (or an error condition) * in depth-first-order. */ public List getSubtree(Target target, OID rootOID) { List l = new LinkedList(); TreeListener listener = new InternalTreeListener(l); synchronized (listener) { walk(target, rootOID, rootOID, null, listener); try { listener.wait(); } catch (InterruptedException ex) { logger.warn("Tree retrieval interrupted: " + ex.getMessage()); } } return l; }
final WalkCounts counts = new WalkCounts(); final long startTime = System.nanoTime(); TreeUtils treeUtils = new TreeUtils(snmp, this); TreeListener treeListener = new TreeListener() { treeUtils.getSubtree(target, rootOID, null, treeListener); try { treeListener.wait();
TreeListener listener = new InternalTreeListener(l); synchronized (listener) { walk(target, rootOIDs, null, listener); try { listener.wait();
@Override public Map<OID, Object> doSnmpGet(SnmpConnection cnx, Collection<OID> oids) { Target snmpTarget = cnx.getConnection(); Snmp snmp = cnx.getSnmp(); if(cnx.isStarted() && snmpTarget != null && snmp != null) { SnmpVars retValue = new SnmpVars(); TreeUtils treeRet = new TreeUtils(snmp, cnx.getPdufactory()); for(OID rootOid: oids) { List<TreeEvent> subOids = treeRet.getSubtree(snmpTarget, rootOid); for(TreeEvent te: subOids) { retValue.join(te.getVariableBindings()); } } return retValue; } return Collections.emptyMap(); } },
/** * Gets a subtree with GETNEXT (SNMPv1) or GETBULK (SNMP2c, SNMPv3) operations * from the specified target synchronously. * * @param target * a <code>Target</code> that specifies the target command responder * including its network transport address. * @param rootOID * the OID that specifies the root of the sub-tree to retrieve * (not included). * @return * a possibly empty List of <code>TreeEvent</code> instances where each * instance carries zero or more values (or an error condition) * in depth-first-order. */ public List<TreeEvent> getSubtree(Target target, OID rootOID) { List<TreeEvent> l = new LinkedList<TreeEvent>(); TreeListener listener = new InternalTreeListener(l); synchronized (listener) { OID[] rootOIDs = new OID[] { rootOID }; walk(target, rootOIDs, null, listener); try { listener.wait(); } catch (InterruptedException ex) { logger.warn("Tree retrieval interrupted: " + ex.getMessage()); } } return l; }
TreeUtils treeUtils = new TreeUtils(snmp, new DefaultPDUFactory()); for (OID oid : this.endpoint.getOids()) { List events = treeUtils.getSubtree(target, new OID(oid)); for (Object eventObj : events) { TreeEvent event = (TreeEvent) eventObj;
/** * Gets a subtree with GETNEXT (SNMPv1) or GETBULK (SNMP2c, SNMPv3) operations * from the specified target synchronously. * * @param target * a <code>Target</code> that specifies the target command responder * including its network transport address. * @param rootOID * the OID that specifies the root of the sub-tree to retrieve * (not included). * @return * a possibly empty List of <code>TreeEvent</code> instances where each * instance carries zero or more values (or an error condition) * in depth-first-order. */ public List<TreeEvent> getSubtree(Target target, OID rootOID) { List<TreeEvent> l = new LinkedList<TreeEvent>(); TreeListener listener = new InternalTreeListener(l); synchronized (listener) { OID[] rootOIDs = new OID[] { rootOID }; walk(target, rootOIDs, null, listener); try { listener.wait(); } catch (InterruptedException ex) { logger.warn("Tree retrieval interrupted: " + ex.getMessage()); } } return l; }
TreeListener listener = new InternalTreeListener(l); synchronized (listener) { walk(target, rootOIDs, null, listener); try { listener.wait();