From: Frederic Suter Date: Fri, 1 Feb 2019 19:42:25 +0000 (+0100) Subject: factor surf_action_ in ActivityImpl X-Git-Tag: v3_22~418 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/45035509d88263d7e63fb36cc52c280fccf3d8a8 factor surf_action_ in ActivityImpl --- diff --git a/src/kernel/activity/ActivityImpl.hpp b/src/kernel/activity/ActivityImpl.hpp index 1da043fa32..8f1267fb8e 100644 --- a/src/kernel/activity/ActivityImpl.hpp +++ b/src/kernel/activity/ActivityImpl.hpp @@ -23,10 +23,12 @@ class XBT_PUBLIC ActivityImpl { 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 simcalls_; /* List of simcalls waiting for this activity */ + resource::Action* surf_action_ = nullptr; virtual void suspend() = 0; virtual void resume() = 0; diff --git a/src/kernel/activity/ExecImpl.cpp b/src/kernel/activity/ExecImpl.cpp index b959baaffa..0edc38596b 100644 --- a/src/kernel/activity/ExecImpl.cpp +++ b/src/kernel/activity/ExecImpl.cpp @@ -17,7 +17,7 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_process); 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; diff --git a/src/kernel/activity/ExecImpl.hpp b/src/kernel/activity/ExecImpl.hpp index 00e0b85e96..9ad4b5ed60 100644 --- a/src/kernel/activity/ExecImpl.hpp +++ b/src/kernel/activity/ExecImpl.hpp @@ -32,7 +32,6 @@ public: /* 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; diff --git a/src/kernel/activity/IoImpl.hpp b/src/kernel/activity/IoImpl.hpp index 55619bfa39..e61d9eaa01 100644 --- a/src/kernel/activity/IoImpl.hpp +++ b/src/kernel/activity/IoImpl.hpp @@ -17,7 +17,7 @@ namespace activity { 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; @@ -27,8 +27,7 @@ public: 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 on_start; static simgrid::xbt::signal on_completion; diff --git a/src/kernel/activity/SleepImpl.hpp b/src/kernel/activity/SleepImpl.hpp index 76fa03666b..9128912b19 100644 --- a/src/kernel/activity/SleepImpl.hpp +++ b/src/kernel/activity/SleepImpl.hpp @@ -20,7 +20,6 @@ public: void post() override; sg_host_t host = nullptr; - resource::Action* surf_action_ = nullptr; }; } } diff --git a/src/kernel/activity/SynchroRaw.hpp b/src/kernel/activity/SynchroRaw.hpp index 2459efeeb3..c96dd4a6fd 100644 --- a/src/kernel/activity/SynchroRaw.hpp +++ b/src/kernel/activity/SynchroRaw.hpp @@ -20,10 +20,7 @@ public: void suspend() override; void resume() override; void post() override; - - resource::Action* surf_action_ = nullptr; - }; - +}; }}} // namespace simgrid::kernel::activity #endif