class XBT_PUBLIC ActivityImpl {
std::atomic_int_fast32_t refcount_{0};
- std::string name_ = "";
+ std::string name_ = "";
actor::ActorImpl* actor_ = nullptr;
State state_ = State::WAITING; /* State of the activity */
double start_time_ = -1.0;
void set_start_time(double start_time) { start_time_ = start_time; }
void clear_hosts() { hosts_.clear(); }
void add_host(s4u::Host* host) { hosts_.push_back(host); }
- void set_hosts(const std::vector<s4u::Host*>& hosts) { hosts_=hosts; }
-
-public:
+ void set_hosts(const std::vector<s4u::Host*>& hosts) { hosts_ = hosts; }
+public:
const std::string& get_name() const { return name_; }
const char* get_cname() const { return name_.c_str(); }
// the model or because it terminated without waiting for the model
s4u::Host* get_host() const { return hosts_.front(); }
- const std::vector<s4u::Host*>& get_hosts() const { return hosts_;} ;
+ const std::vector<s4u::Host*>& get_hosts() const { return hosts_; };
void register_simcall(actor::Simcall* simcall);
void unregister_simcall(actor::Simcall* simcall);
ExecImpl& ExecImpl::set_host(s4u::Host* host)
{
- clear_hosts();
- add_host(host);
+ ActivityImpl::set_hosts({host});
return *this;
}
void ExecImpl::post()
{
xbt_assert(surf_action_ != nullptr);
- auto hosts=get_hosts();
+ auto const& hosts = get_hosts();
if (std::any_of(hosts.begin(), hosts.end(), [](const s4u::Host* host) { return not host->is_on(); })) {
/* If one of the hosts running the synchro failed, notice it. This way, the asking
* process can be killed if it runs on that host itself */
issuer->kill(&actor);
}
for (const auto& activity : EngineImpl::get_instance()->get_maestro()->activities_) {
- auto hosts = activity->get_hosts();
+ auto const& hosts = activity->get_hosts();
if (std::find(hosts.begin(), hosts.end(), &piface_) != hosts.end()) {
activity->cancel();
activity->set_state(activity::State::FAILED);