private void unicast (Message m, int delay) {
		
	int src = m.getSource();
	int dst = m.getDestination();
		
	Record source = r.find (src);
	Record destination = r.find (dst);
		
	if ((source == null) || (destination == null)) {
	    /* In this unlikely event. */
	    String msg =
		String.format("Error: link <P%d, P%d> does not exist.", 
			      src, dst);
	    System.err.println(msg);
	    System.exit(1);
	}

	/* Utils.out(r.pid, String.format("%s > %s", source, destination)); */
	if (! source.isFaulty() && ! destination.isFaulty()) {
	    if (delay >= 0) {
		try {
		    Thread.sleep(delay);
		} catch (InterruptedException ignored) {}
	    }
	    try {
		destination.getQueue().put(m.pack());
	    } catch (InterruptedException ignored) {}
	}
	return ;
    }