* 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>
}
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
process_list.clear();
}
-boost::intrusive_ptr<simgrid::kernel::activity::ExecImpl> SIMIX_execution_start(std::string name, std::string category,
- double flops_amount, double priority,
- double bound, sg_host_t host)
+simgrid::kernel::activity::ExecImplPtr SIMIX_execution_start(std::string name, std::string category,
+ double flops_amount, double priority, double bound,
+ sg_host_t host)
{
/* set surf's action */
simgrid::kernel::resource::Action* surf_action = nullptr;
surf_action = host->pimpl_cpu->execution_start(flops_amount);
surf_action->set_priority(priority);
if (bound > 0)
- static_cast<simgrid::surf::CpuAction*>(surf_action)->set_bound(bound);
+ surf_action->set_bound(bound);
}
simgrid::kernel::activity::ExecImplPtr exec = simgrid::kernel::activity::ExecImplPtr(
return exec;
}
-boost::intrusive_ptr<simgrid::kernel::activity::ExecImpl>
-SIMIX_execution_parallel_start(std::string name, int host_nb, sg_host_t* host_list, double* flops_amount,
- double* bytes_amount, double rate, double timeout)
+simgrid::kernel::activity::ExecImplPtr SIMIX_execution_parallel_start(std::string name, int host_nb,
+ sg_host_t* host_list, double* flops_amount,
+ double* bytes_amount, double rate, double timeout)
{
/* Check that we are not mixing VMs and PMs in the parallel task */
XBT_PRIVATE void SIMIX_set_category(smx_activity_t synchro, std::string category);
-XBT_PRIVATE boost::intrusive_ptr<simgrid::kernel::activity::ExecImpl>
-SIMIX_execution_start(std::string name, std::string category, double flops_amount, double priority, double bound,
- sg_host_t host);
-XBT_PRIVATE boost::intrusive_ptr<simgrid::kernel::activity::ExecImpl>
+XBT_PRIVATE simgrid::kernel::activity::ExecImplPtr SIMIX_execution_start(std::string name, std::string category,
+ double flops_amount, double priority,
+ double bound, sg_host_t host);
+XBT_PRIVATE simgrid::kernel::activity::ExecImplPtr
SIMIX_execution_parallel_start(std::string name, int host_nb, sg_host_t* host_list, double* flops_amount,
double* bytes_amount, double rate, double timeout);