From 09fcf6b32a677469632d6a2aad754ab4e431c530 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Thu, 16 Nov 2023 22:39:03 +0100 Subject: [PATCH] Deprecate the bindings of a deprecated function --- .../python/clusters-multicpu/clusters-multicpu.py | 3 +-- include/simgrid/s4u/NetZone.hpp | 14 +++++++------- src/bindings/python/simgrid_python.cpp | 15 +++++++++++---- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/examples/python/clusters-multicpu/clusters-multicpu.py b/examples/python/clusters-multicpu/clusters-multicpu.py index b48cb38dd1..0d6ff446ae 100644 --- a/examples/python/clusters-multicpu/clusters-multicpu.py +++ b/examples/python/clusters-multicpu/clusters-multicpu.py @@ -106,8 +106,7 @@ def create_hostzone(zone: simgrid.NetZone, coord: typing.List[int], ident: int) link = host_zone.create_split_duplex_link("link-" + cpu_name, link_bw) link.set_latency(link_lat).seal() # connecting CPU to outer world - host_zone.add_route(host.netpoint, None, None, None, - [simgrid.LinkInRoute(link, simgrid.LinkInRoute.Direction.UP)], True) + host_zone.add_route(host, None, [simgrid.LinkInRoute(link, simgrid.LinkInRoute.Direction.UP)], True) # seal newly created netzone host_zone.seal() diff --git a/include/simgrid/s4u/NetZone.hpp b/include/simgrid/s4u/NetZone.hpp index 770b70ab06..c939abfe23 100644 --- a/include/simgrid/s4u/NetZone.hpp +++ b/include/simgrid/s4u/NetZone.hpp @@ -70,12 +70,11 @@ public: /* Add content to the netzone, at parsing time. It should be sealed afterward. */ unsigned long add_component(kernel::routing::NetPoint* elm); /* A host, a router or a netzone, whatever */ - -/** + /** * @brief Add a route between 2 netzones, and same in other direction * @param src Source netzone * @param dst Destination netzone - * @param link_list List of links + * @param links List of links */ void add_route(const NetZone* src, const NetZone* dst, const std::vector& links); @@ -102,7 +101,8 @@ public: * @param link_list List of links and their direction used in this communication * @param symmetrical Bi-directional communication */ - //XBT_ATTRIB_DEPRECATED_v339("Please call add_route either from Host to Host or NetZone to NetZone") + //(we should first remove the Python binding in v3.35) XBT_ATTRIB_DEPRECATED_v339("Please call add_route either from + // Host to Host or NetZone to NetZone") void add_route(kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst, kernel::routing::NetPoint* gw_src, kernel::routing::NetPoint* gw_dst, const std::vector& link_list, bool symmetrical = true); /** @@ -118,9 +118,9 @@ public: * @param gw_dst Netpoint of the gateway in the destination netzone * @param link_list List of links */ - //XBT_ATTRIB_DEPRECATED_v339("Please call add_route either from Host to Host or NetZone to NetZone") - void add_route(kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst, kernel::routing::NetPoint* gw_src, - kernel::routing::NetPoint* gw_dst, const std::vector& links); + XBT_ATTRIB_DEPRECATED_v339("Please call add_route either from Host to Host or NetZone to NetZone") void add_route( + kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst, kernel::routing::NetPoint* gw_src, + kernel::routing::NetPoint* gw_dst, const std::vector& links); /** * @brief Add a route between 2 hosts diff --git a/src/bindings/python/simgrid_python.cpp b/src/bindings/python/simgrid_python.cpp index 53065f0a72..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), -- 2.20.1