@Override public void cancel() { solver.cancel(); }
@Override public void run() { LOGGER.trace("calling RealtimeSolver.problemChanged(..)"); solver.problemChanged(state); } });
@Override public void run() { LOGGER.trace( "calling RealtimeSolver.receiveSnapshot(..) sim time: {}", state.getTime()); solver.receiveSnapshot(state); } });
@Override public void init(Scheduler scheduler) { initCalls++; checkState(!schedulerChecker.isPresent()); schedulerChecker = Optional.of(new SchedulerChecker(scheduler)); delegate.init(schedulerChecker.get()); }
public ImmutableSet<RealtimeSolver> getComputingSolvers() { final ImmutableSet.Builder<RealtimeSolver> solvers = ImmutableSet.builder(); for (final RtSimSolverSchedulerBridge s : manager.simSolvers) { if (s.solver.isComputing() || manager.computingSimSolvers.contains(s)) { solvers.add(s.solver); } } return solvers.build(); } }
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(); }
@Override public boolean isComputing() { return delegate.isComputing(); }
@Override public void problemChanged(GlobalStateObject snapshot) { problemChangedCalls++; delegate.problemChanged(snapshot); }
@Override public void cancel() { delegate.cancel(); }