def estimate_bw(disk: Disk, n_flows: int, read: bool):
""" Calculates the bandwidth for disk doing async operations """
size = 100000
- cur_time = Engine.get_clock()
+ cur_time = Engine.clock()
activities = [disk.read_async(size) if read else disk.write_async(
size) for _ in range(n_flows)]
for act in activities:
act.wait()
- elapsed_time = Engine.get_clock() - cur_time
+ elapsed_time = Engine.clock() - cur_time
estimated_bw = float(size * n_flows) / elapsed_time
this_actor.info("Disk: %s, concurrent %s: %d, estimated bandwidth: %f" % (
disk.name, "read" if read else "write", n_flows, estimated_bw))
Actor.create("runner", bob, host)
e.run()
- this_actor.info("Simulated time: %g" % Engine.get_clock())
+ this_actor.info("Simulated time: %g" % Engine.clock())
# explicitly deleting Engine object to avoid segfault during cleanup phase.
# During Engine destruction, the cleanup of std::function linked to non_linear callback is called.
return new simgrid::s4u::Engine(&argc, argv.data());
}),
"The constructor should take the parameters from the command line, as is ")
- .def_static("get_clock", &Engine::get_clock,
+ .def_static("get_clock",
+ [](pybind11::object& self) // XBT_ATTRIB_DEPRECATED_v333
+ {
+ PyErr_WarnEx(PyExc_DeprecationWarning,
+ "get_clock() is deprecated and will be dropped after v3.32, use clock() instead.", 1);
+ return self.attr("clock");
+ })
+ .def_static("clock", &Engine::get_clock,
"The simulation time, ie the amount of simulated seconds since the simulation start.")
.def_static(
"instance", []() { return Engine::get_instance(); }, "Retrieve the simulation engine")
- .def("get_all_hosts", &Engine::get_all_hosts, "Returns the list of all hosts found in the platform")
- .def("get_all_links", &Engine::get_all_links, "Returns the list of all links found in the platform")
-
- .def("get_netzone_root", &Engine::get_netzone_root, "Retrieve the root netzone, containing all others.")
- .def("get_all_netpoints", &Engine::get_all_netpoints)
- .def("get_netzone_root", &Engine::get_netzone_root)
+ .def("get_all_hosts",
+ [](pybind11::object& self) // XBT_ATTRIB_DEPRECATED_v333
+ {
+ PyErr_WarnEx(PyExc_DeprecationWarning,
+ "get_all_hosts() is deprecated and will be dropped after v3.32, use all_host() instead.", 1);
+ return self.attr("all_hosts");
+ })
+ .def_property_readonly("all_hosts", &Engine::get_all_hosts, "Returns the list of all hosts found in the platform")
+ .def("get_all_links",
+ [](pybind11::object& self) // XBT_ATTRIB_DEPRECATED_v333
+ {
+ PyErr_WarnEx(PyExc_DeprecationWarning,
+ "get_all_links() is deprecated and will be dropped after v3.32, use all_links() instead.",
+ 1);
+ return self.attr("all_links");
+ })
+ .def_property_readonly("all_links", &Engine::get_all_links, "Returns the list of all links found in the platform")
+ .def("get_all_netpoints",
+ [](pybind11::object& self) // XBT_ATTRIB_DEPRECATED_v333
+ {
+ PyErr_WarnEx(
+ PyExc_DeprecationWarning,
+ "get_all_netpoints() is deprecated and will be dropped after v3.32, use all_netpoints() instead.", 1);
+ return self.attr("all_netpoints");
+ })
+ .def_property_readonly("all_netpoints", &Engine::get_all_netpoints)
+ .def("get_netzone_root",
+ [](pybind11::object& self) // XBT_ATTRIB_DEPRECATED_v333
+ {
+ PyErr_WarnEx(
+ PyExc_DeprecationWarning,
+ "get_netzone_root() is deprecated and will be dropped after v3.32, use netzone_root() instead.", 1);
+ return self.attr("netzone_root");
+ })
+ .def("set_netzone_root",
+ [](pybind11::object& self) // XBT_ATTRIB_DEPRECATED_v333
+ {
+ PyErr_WarnEx(PyExc_DeprecationWarning,
+ "set_netzone_root() is deprecated and will be dropped after v3.32.", 1);
+ })
+ .def_property_readonly("netzone_root", &Engine::get_netzone_root,
+ "Retrieve the root netzone, containing all others.")
.def("netpoint_by_name", &Engine::netpoint_by_name_or_null)
.def("netzone_by_name", &Engine::netzone_by_name_or_null)
- .def("set_netzone_root", &Engine::set_netzone_root)
-
.def("load_platform", &Engine::load_platform, "Load a platform file describing the environment")
.def("load_deployment", &Engine::load_deployment, "Load a deployment file and launch the actors that it contains")
.def("run", &Engine::run, py::call_guard<py::gil_scoped_release>(), "Run the simulation until its end")