// CountClient.java
import java.rmi.*;

public class CountClient { 
  public static void main(String args[]) { 
    String nome = "Count001";
    try { 
      CountManager cm = (CountManager) Naming.lookup("CountFactory");
      // nome do contador da linha de comando, senao Count001
      if (args.length > 0)
	nome = args[0];
      Count myCount = cm.getCount(nome); 

      // Realiza operações com objeto remoto
      int initValue = myCount.get();
      System.out.print("De " + initValue + " para ");
      long startTime = System.currentTimeMillis();
      for (int i = 0 ; i < 1000 ; i++ ) 
	myCount.increment();
      long stopTime = System.currentTimeMillis();
      System.out.println(myCount.get());
      
      // Calcula tempo médio por incremento
      System.out.println("Avg Ping = "
			 + ((stopTime - startTime)/1000f)
			 + " msecs");
    } 
    catch(Exception e) { 
      e.printStackTrace();
    }
    System.exit(0);
  }
}