public class TwoPhaseTester {
public static void main(String[] args) throws Exception {
String baseName = args[0];
int myId = Integer.parseInt(args[1]);
int numProc = Integer.parseInt(args[2]);
Linker comm = new Linker(baseName, myId, numProc);
if (myId == 0) {
TwoPhaseCoord master = new TwoPhaseCoord(comm);
for (int i = 0; i < numProc; i++)
if (i != myId)
(new ListenerThread(i, master)).start();
master.doCoordinator();
}
else {
TwoPhaseParticipant slave = new TwoPhaseParticipant(comm);
for (int i = 0; i < numProc; i++)
if (i != myId)
(new ListenerThread(i, slave)).start();
if (args[3].equals("t")) slave.propose(true);
else slave.propose(false);
System.out.println("The value decided:" + slave.decide());
}
}
}