From: Martin Quinson Date: Thu, 8 Dec 2016 10:29:49 +0000 (+0100) Subject: move the NetCard related functions into a NetCard.cpp X-Git-Tag: v3_14~93 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/dc6d65f0d0ee70a889f1621abb1d3778a3da11d6?hp=681600546425819d6810e4e595d35e843130d878 move the NetCard related functions into a NetCard.cpp --- diff --git a/src/kernel/routing/NetCard.cpp b/src/kernel/routing/NetCard.cpp new file mode 100644 index 0000000000..cf30e129be --- /dev/null +++ b/src/kernel/routing/NetCard.cpp @@ -0,0 +1,33 @@ +/* Copyright (c) 2009-2011, 2013-2016. 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. */ + +#include "src/kernel/routing/NetCard.hpp" +#include "src/surf/surf_routing.hpp" +#include + +XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_route); + +namespace simgrid { +namespace kernel { +namespace routing { + +simgrid::xbt::signal NetCard::onCreation; +} +} +} // namespace simgrid::kernel::routing + +/** @brief Retrieve a netcard from its name + * + * Netcards are the thing that connect host or routers to the network + */ +simgrid::kernel::routing::NetCard* sg_netcard_by_name_or_null(const char* name) +{ + sg_host_t h = sg_host_by_name(name); + simgrid::kernel::routing::NetCard* netcard = h == nullptr ? nullptr : h->pimpl_netcard; + if (!netcard) + netcard = (simgrid::kernel::routing::NetCard*)xbt_lib_get_or_null(as_router_lib, name, ROUTING_ASR_LEVEL); + return netcard; +} diff --git a/src/kernel/routing/NetCard.hpp b/src/kernel/routing/NetCard.hpp index 7a78c0ad7e..9213dd4540 100644 --- a/src/kernel/routing/NetCard.hpp +++ b/src/kernel/routing/NetCard.hpp @@ -17,7 +17,6 @@ namespace simgrid { namespace kernel { namespace routing { -XBT_PUBLIC_DATA(simgrid::xbt::signal) netcardCreatedCallbacks; /** @ingroup SURF_routing_interface * @brief Network cards are the vertices in the graph representing the network, used to compute paths between nodes. @@ -33,7 +32,7 @@ public: { if (containingAS != nullptr) id_ = containingAS->addComponent(this); - simgrid::kernel::routing::netcardCreatedCallbacks(this); + simgrid::kernel::routing::NetCard::onCreation(this); } ~NetCard() = default; @@ -48,6 +47,8 @@ public: bool isHost() { return componentType_ == Type::Host; } bool isRouter() { return componentType_ == Type::Router; } + static simgrid::xbt::signal onCreation; + private: unsigned int id_; std::string name_; diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp index 5797b32474..24dee57353 100644 --- a/src/surf/network_ns3.cpp +++ b/src/surf/network_ns3.cpp @@ -177,7 +177,7 @@ NetworkNS3Model::NetworkNS3Model() : NetworkModel() { ns3_initialize(ns3_tcp_model.get().c_str()); simgrid::s4u::Host::onCreation.connect(ns3_add_host); - simgrid::kernel::routing::netcardCreatedCallbacks.connect(ns3_add_netcard); + simgrid::kernel::routing::NetCard::onCreation.connect(ns3_add_netcard); simgrid::surf::on_cluster.connect (&parse_ns3_add_cluster); simgrid::surf::on_postparse.connect(&postparse_cb); simgrid::s4u::As::onRouteCreation.connect(&routeCreation_cb); diff --git a/src/surf/surf_routing.cpp b/src/surf/surf_routing.cpp index 1d90650b89..155243ad14 100644 --- a/src/surf/surf_routing.cpp +++ b/src/surf/surf_routing.cpp @@ -25,7 +25,6 @@ namespace kernel { namespace routing { /* Callbacks */ - simgrid::xbt::signal netcardCreatedCallbacks; simgrid::xbt::signal asCreatedCallbacks; }}} // namespace simgrid::kernel::routing @@ -46,19 +45,6 @@ int COORD_ASR_LEVEL = -1; //Coordinates level int NS3_ASR_LEVEL = -1; //host node for ns3 int ROUTING_PROP_ASR_LEVEL = -1; //Where the properties are stored -/** @brief Retrieve a netcard from its name - * - * Netcards are the thing that connect host or routers to the network - */ -simgrid::kernel::routing::NetCard *sg_netcard_by_name_or_null(const char *name) -{ - sg_host_t h = sg_host_by_name(name); - simgrid::kernel::routing::NetCard *netcard = h==nullptr ? nullptr: h->pimpl_netcard; - if (!netcard) - netcard = (simgrid::kernel::routing::NetCard*) xbt_lib_get_or_null(as_router_lib, name, ROUTING_ASR_LEVEL); - return netcard; -} - void sg_platf_new_trace(sg_platf_trace_cbarg_t trace) { tmgr_trace_t tmgr_trace; diff --git a/tools/cmake/DefinePackages.cmake b/tools/cmake/DefinePackages.cmake index 7e9dc7c668..e91b841fd2 100644 --- a/tools/cmake/DefinePackages.cmake +++ b/tools/cmake/DefinePackages.cmake @@ -306,6 +306,7 @@ set(SURF_SRC src/kernel/routing/AsRoutedGraph.cpp src/kernel/routing/AsNone.cpp src/kernel/routing/AsVivaldi.cpp + src/kernel/routing/NetCard.cpp src/kernel/EngineImpl.cpp src/kernel/EngineImpl.hpp