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 ;
	}