X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/08248ff3fd5d0af80e6e5890ee2890a88057b744..09fcf6b32a677469632d6a2aad754ab4e431c530:/src/bindings/python/simgrid_python.cpp diff --git a/src/bindings/python/simgrid_python.cpp b/src/bindings/python/simgrid_python.cpp index 9d2ee6c5c4..97fa4d3302 100644 --- a/src/bindings/python/simgrid_python.cpp +++ b/src/bindings/python/simgrid_python.cpp @@ -236,10 +236,17 @@ PYBIND11_MODULE(simgrid, m) .def_static("create_empty_zone", &simgrid::s4u::create_empty_zone, "Creates a zone of type Empty") .def_static("create_wifi_zone", &simgrid::s4u::create_wifi_zone, "Creates a zone of type Wi-Fi") .def("add_route", - py::overload_cast&, bool>(&simgrid::s4u::NetZone::add_route), - "Add a route between 2 netpoints") + [](simgrid::s4u::NetZone* self, simgrid::kernel::routing::NetPoint* src, + simgrid::kernel::routing::NetPoint* dst, simgrid::kernel::routing::NetPoint* gw_src, + simgrid::kernel::routing::NetPoint* gw_dst, const std::vector& links, + bool symmetrical) { + PyErr_WarnEx(PyExc_DeprecationWarning, // XBT_ATTRIB_DEPRECATED_v335. Once removed, uncomment the + // deprecation of the AddRoute function in C++ + "Please call add_route either from Host to Host or NetZone to NetZone. This call will be " + "removed after SimGrid v3.35.", + 1); + self->add_route(src, dst, gw_src, gw_dst, links, symmetrical); + }) .def("add_route", py::overload_cast&, bool>(&simgrid::s4u::NetZone::add_route), @@ -689,20 +696,7 @@ PYBIND11_MODULE(simgrid, m) py::arg("to"), py::arg("simulated_size_in_bytes"), "Do a blocking communication between two arbitrary hosts.\n\nThis initializes a communication that " "completely bypass the mailbox and actors mechanism. There is really no limit on the hosts involved. " - "In particular, the actor does not have to be on one of the involved hosts.") - .def_static("test_any", &Comm::test_any, py::call_guard(), py::arg("comms"), - "take a vector s4u::CommPtr and return the rank of the first finished one (or -1 if none is done)") - .def_static("wait_all_for", &Comm::wait_all_for, py::call_guard(), py::arg("comms"), - py::arg("timeout"), - "Block until the completion of all communications in the list, or raises TimeoutException after " - "the specified timeout.") - .def_static("wait_any", &Comm::wait_any, py::call_guard(), py::arg("comms"), - "Block until the completion of any communication in the list and return the index of the " - "terminated one.") - .def_static("wait_any_for", &Comm::wait_any_for, py::call_guard(), py::arg("comms"), - py::arg("timeout"), - "Block until the completion of any communication in the list and return the index of the terminated " - "one, or -1 if a timeout occurred."); + "In particular, the actor does not have to be on one of the involved hosts."); /* Class Io */ py::class_(m, "Io", @@ -710,12 +704,7 @@ PYBIND11_MODULE(simgrid, m) .def("test", &simgrid::s4u::Io::test, py::call_guard(), "Test whether the I/O is terminated.") .def("wait", &simgrid::s4u::Io::wait, py::call_guard(), - "Block until the completion of that I/O operation") - .def_static( - "wait_any_for", &simgrid::s4u::Io::wait_any_for, py::call_guard(), - "Block until the completion of any I/O in the list (or timeout) and return the index of the terminated one.") - .def_static("wait_any", &simgrid::s4u::Io::wait_any, py::call_guard(), - "Block until the completion of any I/O in the list and return the index of the terminated one."); + "Block until the completion of that I/O operation"); /* Class Exec */ py::class_(m, "Exec", @@ -768,7 +757,8 @@ PYBIND11_MODULE(simgrid, m) py::class_(m, "Mutex", "A classical mutex, but blocking in the simulation world." "See the C++ documentation for details.") - .def(py::init<>(&Mutex::create), py::call_guard(), "Mutex constructor.") + .def(py::init<>(&Mutex::create), py::call_guard(), + "Mutex constructor (pass True as a parameter to get a recursive Mutex).", py::arg("recursive") = false) .def("lock", &Mutex::lock, py::call_guard(), "Block until the mutex is acquired.") .def("try_lock", &Mutex::try_lock, py::call_guard(), "Try to acquire the mutex. Return true if the mutex was acquired, false otherwise.") @@ -879,9 +869,14 @@ PYBIND11_MODULE(simgrid, m) }, "Add a callback called when each task ends.") .def_property_readonly("name", &Task::get_name, "The name of this task (read-only).") - .def_property_readonly("count", &Task::get_count, "The execution count of this task (read-only).") .def_property_readonly("successors", &Task::get_successors, "The successors of this task (read-only).") .def_property("amount", &Task::get_amount, &Task::set_amount, "The amount of work to do for this task.") + .def( + "get_count", [](const TaskPtr t) { return t->get_count("instance_0"); }, + "The execution count of this task instance_0.") + .def( + "get_count", [](const TaskPtr t, const std::string& instance) { return t->get_count(instance); }, + "The execution count of this task instance.") .def("enqueue_firings", py::overload_cast(&Task::enqueue_firings), py::call_guard(), py::arg("n"), "Enqueue firings for this task.") .def("add_successor", py::overload_cast(&Task::add_successor), py::call_guard(),