X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/28f758f3ac685281f048a22a99405f48163be169..1bef9c2accc6828f558a43f1c53915c65d6e75c4:/include/simgrid/s4u/NetZone.hpp diff --git a/include/simgrid/s4u/NetZone.hpp b/include/simgrid/s4u/NetZone.hpp index a226bfa129..e8ecc4faec 100644 --- a/include/simgrid/s4u/NetZone.hpp +++ b/include/simgrid/s4u/NetZone.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2016-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2016-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -6,28 +6,15 @@ #ifndef SIMGRID_S4U_NETZONE_HPP #define SIMGRID_S4U_NETZONE_HPP +#include +#include + #include #include #include #include -#include -#include -#include - -#include - namespace simgrid { -namespace kernel { -namespace routing { -class NetZoneImpl; -class NetPoint; -} -} -namespace surf { -class LinkImpl; -} - namespace s4u { /** @brief Networking Zones @@ -36,8 +23,7 @@ namespace s4u { * netzones. In SimGrid, there is a hierarchy of netzones, with a unique root zone (that you can retrieve from the * s4u::Engine). */ -XBT_PUBLIC_CLASS NetZone -{ +class XBT_PUBLIC NetZone { protected: friend simgrid::kernel::routing::NetZoneImpl; @@ -48,13 +34,14 @@ public: /** @brief Seal your netzone once you're done adding content, and before routing stuff through it */ virtual void seal(); /** @brief Retrieves the name of that netzone as a C++ string */ - const std::string& getName() const { return name_; } + const std::string& get_name() const { return name_; } /** @brief Retrieves the name of that netzone as a C string */ - const char* getCname() const; - NetZone* getFather(); + const char* get_cname() const; + NetZone* get_father(); std::vector* getChildren(); // Sub netzones void getHosts(std::vector * whereto); // retrieve my content as a vector of hosts + int getHostCount(); /** Get the properties assigned to a host */ std::unordered_map* getProperties(); @@ -65,20 +52,37 @@ public: /* Add content to the netzone, at parsing time. It should be sealed afterward. */ virtual int addComponent(kernel::routing::NetPoint * elm); /* A host, a router or a netzone, whatever */ - virtual void addRoute(kernel::routing::NetPoint * src, kernel::routing::NetPoint * dst, - kernel::routing::NetPoint * gw_src, kernel::routing::NetPoint * gw_dst, - std::vector & link_list, bool symmetrical); - virtual void addBypassRoute(kernel::routing::NetPoint * src, kernel::routing::NetPoint * dst, - kernel::routing::NetPoint * gw_src, kernel::routing::NetPoint * gw_dst, - std::vector & link_list, bool symmetrical) = 0; + virtual void add_route(kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst, + kernel::routing::NetPoint* gw_src, kernel::routing::NetPoint* gw_dst, + std::vector& link_list, bool symmetrical); + virtual void add_bypass_route(kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst, + kernel::routing::NetPoint* gw_src, kernel::routing::NetPoint* gw_dst, + std::vector& link_list, bool symmetrical) = 0; /*** Called on each newly created regular route (not on bypass routes) */ static simgrid::xbt::signal& link_list)> - onRouteCreation; - static simgrid::xbt::signal onCreation; - static simgrid::xbt::signal onSeal; + std::vector& link_list)> + on_route_creation; + static simgrid::xbt::signal on_creation; + static simgrid::xbt::signal on_seal; + + // Deprecation wrappers + XBT_ATTRIB_DEPRECATED_v323("Please use NetZone::get_father()") NetZone* getFather() { return get_father(); } + XBT_ATTRIB_DEPRECATED_v323("Please use NetZone::get_name()") const std::string& getName() const { return get_name(); } + XBT_ATTRIB_DEPRECATED_v323("Please use NetZone::get_cname()") const char* getCname() const { return get_cname(); } + XBT_ATTRIB_DEPRECATED_v323("Please use NetZone::add_route()") void addRoute( + kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst, kernel::routing::NetPoint* gw_src, + kernel::routing::NetPoint* gw_dst, std::vector& link_list, bool symmetrical) + { + add_route(src, dst, gw_src, gw_dst, link_list, symmetrical); + } + XBT_ATTRIB_DEPRECATED_v323("Please use NetZone::add_bypass_route()") void addBypassRoute( + kernel::routing::NetPoint* src, kernel::routing::NetPoint* dst, kernel::routing::NetPoint* gw_src, + kernel::routing::NetPoint* gw_dst, std::vector& link_list, bool symmetrical) + { + add_bypass_route(src, dst, gw_src, gw_dst, link_list, symmetrical); + } protected: unsigned int getTableSize() { return vertices_.size(); }