Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use boost instead of xbt in Vivaldi
[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 "src/surf/surf_routing.hpp"
9 #include <simgrid/s4u/host.hpp>
10
11 XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(surf_route);
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 h                                = sg_host_by_name(name);
29   simgrid::kernel::routing::NetCard* netcard = h == nullptr ? nullptr : h->pimpl_netcard;
30   if (!netcard)
31     netcard = (simgrid::kernel::routing::NetCard*)xbt_lib_get_or_null(as_router_lib, name, ROUTING_ASR_LEVEL);
32   return netcard;
33 }