package nachos.threads; import nachos.machine.*; /** * A controller for all the elevators in an elevator bank. The controller * accesses the elevator bank through an instance of ElevatorControls. */ public class ElevatorController implements ElevatorControllerInterface { /** * Allocate a new elevator controller. */ public ElevatorController() { } /** * Initialize this elevator controller. The controller will access the * elevator bank through controls. This constructor should return * immediately after this controller is initialized, but not until the * interupt handler is set. The controller will start receiving events * after this method returns, but potentially before run() is * called. * * @param controls the controller's interface to the elevator * bank. The controler must not attempt to access * the elevator bank in any other way. */ public void initialize(ElevatorControls controls) { } /** * Cause the controller to use the provided controls to receive and process * requests from riders. This method should not return, but instead should * call controls.finish() when the controller is finished. */ public void run() { } }