import java.io.*; import java.util.*; public class TotalChat { public static void main(String[] args) throws Exception { int myId = Integer.parseInt(args[1]); int numProc = Integer.parseInt(args[2]); Linker comm = new Linker(args[0], myId, numProc); Chat chat = new Chat(comm); TotalOrder t = new TotalOrder(comm, chat); for (int i = 0; i < numProc; i++) if (i != myId) (new ListenerThread(i, t)).start(); BufferedReader din = new BufferedReader(new InputStreamReader(System.in)); while (true) { String chatMsg = chat.getUserInput(din); if (chatMsg.equals("quit")) break; IntLinkedList destIds = chat.getDest(din); t.multicast(destIds, "chat", chatMsg); } } }