예제 #1
0
 /**
  * Edited: Simental Magaña Marcos Eleno Joaquín
  *
  * <p>Para práctica 2 Se modifica el funcionamiento de receiveVerdadero, se registra id del
  * proceso convocante y arreglo de bytes donde se almacenan datos
  *
  * <p>Para práctica 5 Se añade tratamiento con buzones
  */
 protected void receiveVerdadero(int addr, byte[] message) {
   Buzon miBuzon;
   byte[] msgPtr;
   miBuzon = dameMiBuzon(dameIdProceso());
   if (miBuzon == null) { // es un cliente
     tablaRecepcion.put(new Integer(addr), message);
     suspenderProceso();
   } else { // es un servidor
     if (miBuzon.isEmpty()) {
       tablaRecepcion.put(new Integer(addr), message);
       suspenderProceso();
     } else {
       msgPtr = miBuzon.getNextMessage();
       System.arraycopy(msgPtr, 0, message, 0, msgPtr.length);
     }
   }
 }