X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/eb680c004b00a59218e7cdaa77fc2c96066c3548..HEAD:/src/bindings/python/simgrid_python.cpp diff --git a/src/bindings/python/simgrid_python.cpp b/src/bindings/python/simgrid_python.cpp index 53065f0a72..d00494965a 100644 --- a/src/bindings/python/simgrid_python.cpp +++ b/src/bindings/python/simgrid_python.cpp @@ -236,18 +236,21 @@ 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") + "Add a route between 2 hosts") .def("add_route", py::overload_cast&>(&simgrid::s4u::NetZone::add_route), + "Add a route between 2 hosts") + .def("add_route", + py::overload_cast&, bool>(&simgrid::s4u::NetZone::add_route), - "Add a route between 2 netpoints") + "Add a route between 2 netzones. The gateway of each zone gets used.") .def("add_route", - py::overload_cast&>(&simgrid::s4u::NetZone::add_route), - "Add a route between 2 netpoints") + "Add a route between 2 netzones. The gateway of each zone gets used.") .def("create_host", py::overload_cast(&simgrid::s4u::NetZone::create_host), "Creates a host") .def("create_host", @@ -279,6 +282,10 @@ PYBIND11_MODULE(simgrid, m) .def("create_router", &simgrid::s4u::NetZone::create_router, "Create a router") .def("set_parent", &simgrid::s4u::NetZone::set_parent, "Set the parent of this zone") .def("set_property", &simgrid::s4u::NetZone::set_property, "Add a property to this zone") + .def("set_gateway", py::overload_cast(&simgrid::s4u::NetZone::set_gateway), + "Specify the gateway of this zone, to be used for inter-zone routes") + .def("set_gateway", py::overload_cast(&simgrid::s4u::NetZone::set_gateway), + "Specify the gateway of this zone, to be used for inter-zone routes") .def_property_readonly("netpoint", &simgrid::s4u::NetZone::get_netpoint, "Retrieve the netpoint associated to this zone") .def("seal", &simgrid::s4u::NetZone::seal, "Seal this NetZone") @@ -290,7 +297,7 @@ PYBIND11_MODULE(simgrid, m) /* Class ClusterCallbacks */ py::class_(m, "ClusterCallbacks", "Callbacks used to create cluster zones") - .def(py::init&, + .def(py::init&, const std::function&, const std::function&>()); @@ -433,8 +440,7 @@ PYBIND11_MODULE(simgrid, m) py::enum_(host, "SharingPolicy") .value("NONLINEAR", simgrid::s4u::Host::SharingPolicy::NONLINEAR) - .value("LINEAR", simgrid::s4u::Host::SharingPolicy::LINEAR) - .export_values(); + .value("LINEAR", simgrid::s4u::Host::SharingPolicy::LINEAR); /* Class Disk */ py::class_> disk( @@ -457,13 +463,11 @@ PYBIND11_MODULE(simgrid, m) "Textual representation of the Disk"); py::enum_(disk, "SharingPolicy") .value("NONLINEAR", simgrid::s4u::Disk::SharingPolicy::NONLINEAR) - .value("LINEAR", simgrid::s4u::Disk::SharingPolicy::LINEAR) - .export_values(); + .value("LINEAR", simgrid::s4u::Disk::SharingPolicy::LINEAR); py::enum_(disk, "Operation") .value("READ", simgrid::s4u::Disk::Operation::READ) .value("WRITE", simgrid::s4u::Disk::Operation::WRITE) - .value("READWRITE", simgrid::s4u::Disk::Operation::READWRITE) - .export_values(); + .value("READWRITE", simgrid::s4u::Disk::Operation::READWRITE); /* Class NetPoint */ py::class_> @@ -555,12 +559,17 @@ PYBIND11_MODULE(simgrid, m) "__repr__", [](const Link* l) { return "Link(" + l->get_name() + ")"; }, "Textual representation of the Link"); py::enum_(link, "SharingPolicy") - .value("NONLINEAR", Link::SharingPolicy::NONLINEAR) - .value("WIFI", Link::SharingPolicy::WIFI) - .value("SPLITDUPLEX", Link::SharingPolicy::SPLITDUPLEX) - .value("SHARED", Link::SharingPolicy::SHARED) - .value("FATPIPE", Link::SharingPolicy::FATPIPE) - .export_values(); + .value("NONLINEAR", Link::SharingPolicy::NONLINEAR, + "This policy takes a callback that specifies the maximal capacity as a function of the number of usage. " + "See the examples with 'degradation' in their name.") + .value("WIFI", Link::SharingPolicy::WIFI, "Pseudo-sharing policy requesting wifi-specific sharing.") + .value("SPLITDUPLEX", Link::SharingPolicy::SPLITDUPLEX, + "Each link is split in 2, UP and DOWN, one per direction. These links are SHARED.") + .value("SHARED", Link::SharingPolicy::SHARED, + "The bandwidth is shared between all comms using that link, regardless of their direction.") + .value("FATPIPE", Link::SharingPolicy::FATPIPE, + "Each comm can use the link fully, with no sharing (only a maximum). This is intended to represent the " + "backbone links that cannot be saturated by concurrent links, but have a maximal bandwidth."); /* Class LinkInRoute */ py::class_ linkinroute(m, "LinkInRoute", "Abstraction to add link in routes"); @@ -569,8 +578,7 @@ PYBIND11_MODULE(simgrid, m) py::enum_(linkinroute, "Direction") .value("UP", simgrid::s4u::LinkInRoute::Direction::UP) .value("DOWN", simgrid::s4u::LinkInRoute::Direction::DOWN) - .value("NONE", simgrid::s4u::LinkInRoute::Direction::NONE) - .export_values(); + .value("NONE", simgrid::s4u::LinkInRoute::Direction::NONE); /* Class Split-Duplex Link */ py::class_>(