Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Deprecate the bindings of a deprecated function
authorMartin Quinson <martin.quinson@ens-rennes.fr>
Thu, 16 Nov 2023 21:39:03 +0000 (22:39 +0100)
committerMartin Quinson <martin.quinson@ens-rennes.fr>
Thu, 16 Nov 2023 21:39:03 +0000 (22:39 +0100)
examples/python/clusters-multicpu/clusters-multicpu.py
include/simgrid/s4u/NetZone.hpp
src/bindings/python/simgrid_python.cpp

index b48cb38..0d6ff44 100644 (file)
@@ -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()
index 770b70a..c939abf 100644 (file)
@@ -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<const Link*>& 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<LinkInRoute>& 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<const Link*>& 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<const Link*>& links);
 
   /**
    * @brief Add a route between 2 hosts
index 53065f0..97fa4d3 100644 (file)
@@ -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<simgrid::kernel::routing::NetPoint*, simgrid::kernel::routing::NetPoint*,
-                             simgrid::kernel::routing::NetPoint*, simgrid::kernel::routing::NetPoint*,
-                             const std::vector<simgrid::s4u::LinkInRoute>&, 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<simgrid::s4u::LinkInRoute>& 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<const simgrid::s4u::Host*, const simgrid::s4u::Host*,
                              const std::vector<simgrid::s4u::LinkInRoute>&, bool>(&simgrid::s4u::NetZone::add_route),