/** * 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); }
/** * 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); }
/** * 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); }
/** * 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; }
TreeListener listener = new InternalTreeListener(l); synchronized (listener) { walk(target, rootOIDs, null, listener); try { listener.wait();
/** * 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; }
/** * 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();
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; }
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; }
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; } }
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; } }