-struct s_smx_simcall {
- simgrid::simix::Simcall call_ = simgrid::simix::Simcall::NONE;
+class Simcall {
+public:
+ /** All possible simcalls. */
+ XBT_DECLARE_ENUM_CLASS(Type, NONE, RUN_ANSWERED, RUN_BLOCKING);
+
+ Type call_ = Type::NONE;
smx_actor_t issuer_ = nullptr;
simgrid::kernel::timer::Timer* timeout_cb_ = nullptr; // Callback to timeouts
simgrid::kernel::actor::SimcallObserver* observer_ = nullptr; // makes that simcall observable by the MC
unsigned int mc_max_consider_ =
0; // How many times this simcall should be used. If >1, this will be a fork in the state space.
std::function<void()> const* code_ = nullptr;
smx_actor_t issuer_ = nullptr;
simgrid::kernel::timer::Timer* timeout_cb_ = nullptr; // Callback to timeouts
simgrid::kernel::actor::SimcallObserver* observer_ = nullptr; // makes that simcall observable by the MC
unsigned int mc_max_consider_ =
0; // How many times this simcall should be used. If >1, this will be a fork in the state space.
std::function<void()> const* code_ = nullptr;