package jade.core.nodeMonitoring; //#J2ME_EXCLUDE_FILE //#APIDOC_EXCLUDE_FILE import jade.core.GenericCommand; import jade.core.Node; import jade.core.SliceProxy; import jade.core.IMTPException; import jade.core.ServiceException; public class UDPNodeMonitoringProxy extends SliceProxy implements UDPNodeMonitoringSlice { /* * Request a given node to start sending UDP packets */ public void activateUDP(String label, String host, int port, int pingDelay, long key) throws IMTPException, ServiceException { GenericCommand cmd = new GenericCommand(H_ACTIVATEUDP, UDPNodeMonitoringService.NAME, null); cmd.addParam(label); cmd.addParam(host); cmd.addParam(new Integer(port)); cmd.addParam(new Integer(pingDelay)); cmd.addParam(new Long(key)); Node n = getNode(); Object result = n.accept(cmd); if ((result != null) && (result instanceof Throwable)) { if (result instanceof IMTPException) { throw (IMTPException) result; } else { throw new IMTPException("Unexpected exception in remote site.", (Throwable) result); } } } /* * Request a given node to stop sending UDP packets */ public void deactivateUDP(String label, long key) throws IMTPException { try { GenericCommand cmd = new GenericCommand(H_DEACTIVATEUDP, UDPNodeMonitoringService.NAME, null); cmd.addParam(label); cmd.addParam(new Long(key)); Node n = getNode(); Object result = n.accept(cmd); if ((result != null) && (result instanceof Throwable)) { if (result instanceof IMTPException) { throw (IMTPException) result; } else { throw new IMTPException("Unexpected exception in remote site.", (Throwable) result); } } } catch (ServiceException se) { throw new IMTPException("Unexpected error contacting remote node.", se); } } }