/*
 * Created on Dec 16, 2004
 */

package javax.realtime.test.bridge;

import javax.realtime.PriorityParameters;
import javax.realtime.RealtimeThread;
import javax.realtime.RelativeTime;

import javax.realtime.DSS.DSS;

/**
 * @author gary
 */

public class CarArrivals extends RealtimeThread {
	
	public CarArrivals( String name, int priority, Bridge bridge, int cycles ) {
		super( name, new PriorityParameters( priority ));
		this.bridge = bridge;
		this.cycles = cycles;
	}
	
	public void body() throws InterruptedException {
		// System.out.println( "CarArrivals.body() entered" );
		for ( int i = 0; i<cycles; i++ ) {
			// System.out.println( "CarArrivals 0" );
			Car car = new Car( "Car " + i, i+1, bridge );
			// System.out.println( "CarArrivals 1" );
			car.initialize();
			
			// System.out.println( "CarArrivals 2" );
			DSS.activate( car );
			// System.out.println( "CarArrivals 3" );
			DSS.hold( new RelativeTime( 11-i, 0 ) );
		}
		// System.out.println( "CarArrivals.body() exited" );
	}
	
	public Bridge bridge;
	public int cycles;
}

