/** Bucle principal del thread. */ public void run() { try { while (true) { mylogger.finer("Waiting for a message."); String pkt = myPP.receive(); mylogger.finer("Received message: " + pkt); if (pkt == null) break; StringTokenizer st = new StringTokenizer(pkt); int nsec = Integer.parseInt(st.nextToken()); if (st.hasMoreTokens()) { String disp = st.nextToken(); mylogger.fine("Requesting Start to Peers (" + nsec + "," + disp + ")"); NeReDa.peers.start(this, nsec, disp, null); } else { mylogger.fine("Requesting Stop to Peers (" + nsec + ")"); NeReDa.peers.stop(this, nsec); } } } catch (Exception e) { mylogger.warning("Terminated DataAttendant: " + e.getMessage()); } try { synchronized (sock) { sock.close(); sock.notify(); } } catch (Exception e) { mylogger.warning("Closing DataAttendant socket: " + e.getMessage()); } mylogger.fine("Deregistering"); NeReDa.peers.Del(this); }