#define _hypot hypot
#endif
+#if defined(__GNUG__)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wunused-value"
+#endif
+
#include <pybind11/functional.h>
#include <pybind11/pybind11.h> // Must come before our own stuff
#include <pybind11/stl.h>
+#if defined(__GNUG__)
+#pragma GCC diagnostic pop
+#endif
+
#include "src/kernel/context/Context.hpp"
#include <simgrid/Exception.hpp>
#include <simgrid/s4u/Actor.hpp>
#include <simgrid/s4u/Comm.hpp>
-#include <simgrid/s4u/Exec.hpp>
#include <simgrid/s4u/Engine.hpp>
+#include <simgrid/s4u/Exec.hpp>
#include <simgrid/s4u/Host.hpp>
#include <simgrid/s4u/Mailbox.hpp>
+#include <simgrid/version.h>
#include <memory>
#include <string>
XBT_LOG_NEW_DEFAULT_CATEGORY(python, "python");
-PYBIND11_DECLARE_HOLDER_TYPE(T, boost::intrusive_ptr<T>);
+PYBIND11_DECLARE_HOLDER_TYPE(T, boost::intrusive_ptr<T>)
namespace {
py::arg("flops"), py::arg("priority") = 1);
m2.def("exec_init", [](double flops){return simgrid::s4u::this_actor::exec_init(flops);});
m2.def("get_host", &simgrid::s4u::this_actor::get_host, "Retrieves host on which the current actor is located");
- m2.def("migrate", &simgrid::s4u::this_actor::migrate, "Moves the current actor to another host, see :cpp:func:`void simgrid::s4u::this_actor::migrate()`",
- py::arg("dest"));
+ m2.def("set_host", &simgrid::s4u::this_actor::set_host,
+ "Moves the current actor to another host, see :cpp:func:`void simgrid::s4u::this_actor::set_host()`",
+ py::arg("dest"));
m2.def("sleep_for", sleep_for_fun,
"Block the actor sleeping for that amount of seconds, see :cpp:func:`void simgrid::s4u::this_actor::sleep_for`", py::arg("duration"));
m2.def("sleep_until", sleep_until_fun,
}
});
},
- "Create an actor from a function or an object, see :cpp:func:`simgrid::s4u::Actor::create()`")
- .def_property("host", &Actor::get_host, &Actor::migrate, "The host on which this actor is located")
+ "Create an actor from a function or an object.")
+ .def_property("host", &Actor::get_host, &Actor::set_host, "The host on which this actor is located")
+ .def_property_readonly("name", &Actor::get_cname, "The name of this actor.")
.def_property_readonly("pid", &Actor::get_pid, "The PID (unique identifier) of this actor.")
+ .def_property_readonly("ppid", &Actor::get_ppid,
+ "The PID (unique identifier) of the actor that created this one.")
.def("by_pid", &Actor::by_pid, "Retrieve an actor by its PID")
.def("daemonize", &Actor::daemonize,
- "This actor will be automatically terminated when the last non-daemon actor finishes, see :cpp:func:`void "
- "simgrid::s4u::Actor::daemonize()`")
+ "This actor will be automatically terminated when the last non-daemon actor finishes (more info in the C++ "
+ "documentation).")
+ .def("is_daemon", &Actor::is_daemon,
+ "Returns True if that actor is a daemon and will be terminated automatically when the last non-daemon actor "
+ "terminates.")
.def("join", py::overload_cast<double>(&Actor::join),
- "Wait for the actor to finish, see :cpp:func:`void simgrid::s4u::Actor::join(double)`", py::arg("timeout"))
+ "Wait for the actor to finish (more info in the C++ documentation).", py::arg("timeout"))
.def("kill", [](ActorPtr act) { act->kill(); }, "Kill that actor")
.def("kill_all", &Actor::kill_all, "Kill all actors but the caller.")
- .def("migrate", &Actor::migrate,
- "Moves that actor to another host, see :cpp:func:`void simgrid::s4u::Actor::migrate()`", py::arg("dest"))
- .def("self", &Actor::self, "Retrieves the current actor, see :cpp:func:`void simgrid::s4u::Actor::self()`")
+ .def("self", &Actor::self, "Retrieves the current actor.")
.def("is_suspended", &Actor::is_suspended, "Returns True if that actor is currently suspended.")
.def("suspend", &Actor::suspend, "Suspend that actor, that is blocked until resume()ed by another actor.")
.def("resume", &Actor::resume, "Resume that actor, that was previously suspend()ed.");