Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
no need for a lib to store the netcards. A dict is easier
[simgrid.git] / src / kernel / routing / NetCard.cpp
1 /* Copyright (c) 2009-2011, 2013-2016. The SimGrid Team.
2  * All rights reserved.                                                     */
3
4 /* This program is free software; you can redistribute it and/or modify it
5  * under the terms of the license (GNU LGPL) which comes with this package. */
6
7 #include "src/kernel/routing/NetCard.hpp"
8 #include "surf/surf_routing.h"
9 #include <simgrid/s4u/host.hpp>
10
11 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(surf_route, surf, "Routing part of surf");
12
13 namespace simgrid {
14 namespace kernel {
15 namespace routing {
16
17 simgrid::xbt::signal<void(NetCard*)> NetCard::onCreation;
18 }
19 }
20 } // namespace simgrid::kernel::routing
21
22 /** @brief Retrieve a netcard from its name
23  *
24  * Netcards are the thing that connect host or routers to the network
25  */
26 simgrid::kernel::routing::NetCard* sg_netcard_by_name_or_null(const char* name)
27 {
28   sg_host_t host = sg_host_by_name(name);
29   return (host != nullptr) ? host->pimpl_netcard
30                            : static_cast<simgrid::kernel::routing::NetCard*>(xbt_dict_get_or_null(netcards_dict, name));
31 }