public:
ActivityImpl() = default;
explicit ActivityImpl(std::string name) : name_(name) {}
+ explicit ActivityImpl(std::string name, resource::Action* surf_action) : name_(name), surf_action_(surf_action) {}
virtual ~ActivityImpl() = default;
e_smx_state_t state_ = SIMIX_WAITING; /* State of the activity */
std::string name_; /* Activity name if any */
std::list<smx_simcall_t> simcalls_; /* List of simcalls waiting for this activity */
+ resource::Action* surf_action_ = nullptr;
virtual void suspend() = 0;
virtual void resume() = 0;
simgrid::kernel::activity::ExecImpl::ExecImpl(std::string name, resource::Action* surf_action,
resource::Action* timeout_detector, s4u::Host* host)
- : ActivityImpl(name), host_(host), surf_action_(surf_action), timeout_detector_(timeout_detector)
+ : ActivityImpl(name, surf_action), host_(host), timeout_detector_(timeout_detector)
{
this->state_ = SIMIX_RUNNING;
/* The host where the execution takes place. nullptr means this is a parallel exec (and only surf knows the hosts) */
s4u::Host* host_ = nullptr;
- resource::Action* surf_action_; /* The Surf execution action encapsulated */
private:
resource::Action* timeout_detector_ = nullptr;
class XBT_PUBLIC IoImpl : public ActivityImpl {
public:
~IoImpl() override;
- explicit IoImpl(std::string name, simgrid::surf::StorageImpl* storage);
+ explicit IoImpl(std::string name, surf::StorageImpl* storage);
void start(sg_size_t size, simgrid::s4u::Io::OpType type);
void suspend() override;
double get_remaining();
sg_size_t get_performed_ioops() { return performed_ioops_; }
- simgrid::surf::StorageImpl* storage_ = nullptr;
- simgrid::kernel::resource::Action* surf_action_ = nullptr;
+ surf::StorageImpl* storage_ = nullptr;
sg_size_t performed_ioops_ = 0;
static simgrid::xbt::signal<void(kernel::activity::IoImplPtr)> on_start;
static simgrid::xbt::signal<void(kernel::activity::IoImplPtr)> on_completion;
void post() override;
sg_host_t host = nullptr;
- resource::Action* surf_action_ = nullptr;
};
}
}
void suspend() override;
void resume() override;
void post() override;
-
- resource::Action* surf_action_ = nullptr;
- };
-
+};
}}} // namespace simgrid::kernel::activity
#endif