public FIFOBroadcastClient(
      boolean isBroadcaster,
      String host,
      int thisport,
      int startport,
      int endport,
      String message,
      int numMessages) {
    this.port = thisport;
    this.isBroadcaster = isBroadcaster;
    // System.out.println("FIFO BROADCAST CLIENT");
    // Initialize
    rb = new MyFIFOReliableBroadcast();
    Process p = new Process(host, thisport);
    rb.init(p);
    rb.rblisten(this); // Give MRB our callback method

    for (int i = startport; i <= endport; i++) {
      if (i != thisport) {
        rb.addProcess(new Process(host, i));
      }
    }

    /*
    while(true){

    	Console console = System.console();
    	String input = console.readLine("Message to broadcast: ");

    	//XXX
    	System.out.println("Sending: " + input );
    	MyMessage m = new MyMessage();
    	m.setMessageContents( input );
    	rb.rbroadcast(m);


    }
    */

    if (isBroadcaster) {

      MyMessage m1 = new MyMessage();
      MyMessage m2 = new MyMessage();
      m1.setMessageContents("Message 1");
      m2.setMessageContents("Message 2");
      m1.setMessageNumber(0);
      m2.setMessageNumber(1);
      m2.makesObsolete(0);
      rb.rbroadcast(m1);

      try {
        // Thread.currentThread().sleep(5000);
      } catch (Exception e) {
      }
      System.out.println("Broadcasting 2");
      rb.rbroadcast(m2);
    }
    // if(this.isBroadcaster){
    // MyMessage m = new MyMessage();
    // m.setMessageContents(message);
    // for(int j = 0; j < numMessages; j++){
    // rb.rbroadcast(m);
    // }
    // }

  }