import weiss.util.*;
public class IncomingLine {
   private double interarrival;
   private int ID;
   private int totalMessages;
   private Random randProc;
   private double time;

   public IncomingLine(int theID, double start, double arrivalParm) {
      interarrival = arrivalParm;
      ID = theID;
      totalMessages = 0;
      randProc = new Random(ID + 1);
      time = start;
   }

    public int getID( ) {return ID;}
    public double getTime( ) {return time;}
    public int getTotalMessages ( ) {return totalMessages;}

    public Event getNextArrival( ) {
       time += randProc.nextPoisson(interarrival);
       totalMessages++;
       return new Event(ID, Event.MSG_ARRIVAL, time);
    }

    public String toString ( ) { return "Incoming[ID:" + ID + ","
             + "arrivalParm:" + interarrival +"]: current time="
             + time + ", generated " + totalMessages + " messages"; }

}


