package eventpkg;
import weiss.nonstandard.*;

public class EventMain
{
	public static void main(String args[])
	{
		int i;
		double lastTime = 0.0;
		Event e;

		// <1.1>
		Event e1 = new Event(0, 1, 10);
		Event e2 = new Event(1, 1, 13);
		Event e3 = new Event(2, 1, 11);
		System.out.println("e1 = " + e1);
		System.out.println("e2 = " + e2);
		System.out.println("e3 = " + e3);
		System.out.println();

		// <1.2>
		Event e4 = new Event(1, 3, 20);
		System.out.println("e4 = " + e4);

		// <1.3>
		PriorityQueue p = new BinaryHeap();
		p.insert(e1);
		p.insert(e2);
		p.insert(e3);

		// <1.4>
		while(!p.isEmpty()) {
			System.out.println("...Deleting " + (Event)p.deleteMin());
		}

		// <1.5>
		for(i=1; i <= 15; i++) {
			p.insert(new Event(1, Event.MSG_ARRIVAL, i * 10));
		}

		// <1.6>
		while(!p.isEmpty()) {
			e = (Event)p.deleteMin();
			System.out.println(e + " interarrival = " + 
				(e.getWhen() - lastTime));
			lastTime = e.getWhen();
		}
	}
}

