Exemplo n.º 1
0
  /** 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);
  }