11 #include <dpsim/Scheduler.h>
20 Bool useConditionVariable);
23 void step(Real time, Int timeStepCount);
27 void finishSchedule(
const Edges &inEdges);
28 void scheduleTask(
int thread, CPS::Task::Ptr task);
33 void doStep(Int scheduleIdx);
36 String mOutMeasurementFile;
39 std::vector<std::thread> mThreads;
41 std::vector<CPS::Task::List> mTempSchedules;
42 struct ScheduleEntry {
45 std::vector<Counter *> reqCounters;
47 std::vector<ScheduleEntry *> mSchedules;
49 Bool mJoining =
false;
51 Int mTimeStepCount = 0;
Tasks to be defined by every component.
std::unordered_map< CPS::Task::Ptr, std::deque< CPS::Task::Ptr > > Edges
virtual void stop()
Called on simulation stop to reliably clean up e.g. running helper threads.
void step(Real time, Int timeStepCount)
Performs a single simulation step.