@Override public void handleEvent(Event event) { manager.checkExceptions(); shutdown(); } }, ClockEventType.STOPPED);
@Override public RtSimSolver build(Solver solver) { return build(new SolverToRealtimeAdapter(solver)); } }
@Override public boolean equals(Object o) { if (o == this) { return true; } if (o instanceof RtSolverModel.Builder) { RtSolverModel.Builder that = (RtSolverModel.Builder) o; return (this.mode.equals(that.getMode())) && (this.threadPoolSize == that.getThreadPoolSize()) && (this.threadGrouping == that.getThreadGrouping()); } return false; }
public static MASConfiguration solverConfigurationAdapt( StochasticSupplier<? extends Solver> solverSupplier, String nameSuffix, boolean threadGrouping) { return configBuilder(solverSupplier, nameSuffix) .addModel(builder(AdapterSupplier.create(solverSupplier)) .withThreadGrouping(threadGrouping)) .build(); }
@Override public ImmutableSet<ModelBuilder<?, ?>> getChildren() { return ImmutableSet.<ModelBuilder<?, ?>>of( RtSolverModel.builder().withThreadGrouping( getOptions().contains(Options.THREAD_GROUPING))); }
/** * Constructs a {@link Builder} for creating a real-time central model. The * real-time central model is a model that takes control of all vehicles in a * simulation and uses a {@link RealtimeSolver} to compute routes for all * vehicles. The supplied {@link Solver} is adapted using * {@link RtStAdapters#toRealtime(StochasticSupplier)}. * @param solverSupplier A {@link StochasticSupplier} that creates the * {@link Solver} that will be used for controlling all vehicles. * @return A new {@link Builder} instance. */ public static Builder builderAdapt( StochasticSupplier<? extends Solver> solverSupplier) { return builder(AdapterSupplier.create(solverSupplier)); }
@Override public boolean register(RtSolverUser element) { checkState(mode != Mode.SINGLE_MODE, "Can not register a %s because %s is in single mode.", RtSolverUser.class.getSimpleName(), RtSolverModel.class.getSimpleName()); mode = Mode.MULTI_MODE; initExecutor(); element.setSolverProvider(new RtSimSolverBuilderImpl()); return true; }
@Override public void reportException(Throwable t) { delegate.reportException(t); } }
@Override public void setSolverProvider(SimSolverBuilder builder) { delegate.setSolverProvider(new SimSolverBuilderAdapter(builder)); }
Builder() { setDependencies(RealtimeClockController.class, PDPRoadModel.class, PDPModel.class); setProvidingTypes(RtSimSolverBuilder.class, RtSolverModelAPI.class); }
@Override public void reportException(Throwable t) { handleFailure(t); } }
@Override public void uncaughtException(@SuppressWarnings("null") Thread t, @SuppressWarnings("null") Throwable e) { addException(e); } }
Builder() { setDependencies( RandomProvider.class, RtSimSolverBuilder.class, RealtimeClockController.class, PDPRoadModel.class, PDPModel.class); }
@SuppressWarnings("unchecked") static AdapterSupplier create(StochasticSupplier<? extends Solver> ss) { return new AutoValue_RtCentral_AdapterSupplier( (StochasticSupplier<Solver>) ss); }
@Override public int hashCode() { int h = 1; h *= 1000003; h ^= this.mode.hashCode(); h *= 1000003; h ^= this.threadPoolSize; h *= 1000003; h ^= this.threadGrouping ? 1231 : 1237; return h; }
/** * Create a new supplier for {@link SleepySolver} instances.. * @param sleepTime The time to sleep each time * {@link Solver#solve(GlobalStateObject)} is called. * @param delegate The {@link Solver} to delegate the actual solving to. * @return A new supplier instance. */ public static StochasticSupplier<Solver> create(long sleepTime, StochasticSupplier<Solver> delegate) { return new Sup(sleepTime, delegate); }
static ThreadInfo create(int cpuId, int priority, String name, String parentName, boolean alive) { return new AutoValue_AffinityTestHelper_ThreadInfo(cpuId, priority, name, parentName, alive); } }
@Override public void onFailure(Throwable t) { handleFailure(t); } }