* under the terms of the license (GNU LGPL) which comes with this package. */
#include "simgrid/kernel/routing/NetPoint.hpp"
+#include "simgrid/s4u/Actor.hpp"
#include "simgrid/s4u/Engine.hpp"
-#include "src/simix/smx_host_private.hpp"
+#include "simgrid/s4u/Exec.hpp"
#include "src/surf/HostImpl.hpp"
#include <string>
{
if (is_off()) {
simgrid::simix::simcall([this] {
- this->pimpl_->turn_on();
this->pimpl_cpu->turn_on();
+ this->pimpl_->turn_on();
on_state_change(*this);
});
}
return *mounts_;
}
+ExecPtr Host::exec_async(double flops)
+{
+ return this_actor::exec_init(flops)->set_host(this);
+}
+
void Host::execute(double flops)
{
execute(flops, 1.0 /* priority */);
}
void Host::execute(double flops, double priority)
{
- smx_activity_t s = simcall_execution_start("", "", flops, 1 / priority /*priority*/, 0. /*bound*/, this);
- simcall_execution_wait(s);
+ this_actor::exec_init(flops)->set_host(this)->set_priority(1 / priority)->start()->wait();
}
} // namespace s4u
smx_actor_t process = SIMIX_process_self();
return (process == nullptr) ? nullptr : process->host_;
}
+
+double sg_host_load(sg_host_t host)
+{
+ return host->get_load();
+}
\ No newline at end of file