@Override public void init(Scheduler scheduler) { initCalls++; checkState(!schedulerChecker.isPresent()); schedulerChecker = Optional.of(new SchedulerChecker(scheduler)); delegate.init(schedulerChecker.get()); }
RtSimSolverSchedulerBridge(RealtimeClockController c, RealtimeSolver s, PDPRoadModel rm, PDPModel pm, Set<Vehicle> vehicles, ListeningExecutorService ex, SimSolversManager manager) { solver = s; clock = c; converter = Solvers.converterBuilder() .with(clock) .with(rm) .with(pm) .with(vehicles) .build(); currentSchedule = Optional.absent(); isUpdated = false; reference = this; eventDispatcher = new EventDispatcher(EventType.values()); simSolverEventDispatcher = new EventDispatcher(RtSimSolver.EventType.values()); executor = ex; rtSimSolver = new InternalRtSimSolver(); scheduler = new InternalScheduler(); simSolversManager = manager; solver.init(scheduler); simSolversManager.register(this); solveCount = new AtomicInteger(); }