X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4e14c20ad6318c05db82275e7d387f5090facc96..136b2dc7bfe5ff67d78a23f0e9e031b1b4bed639:/teshsuite/simdag/is-router/is-router.cpp diff --git a/teshsuite/simdag/is-router/is-router.cpp b/teshsuite/simdag/is-router/is-router.cpp index 9e056dda0c..35441dfc55 100644 --- a/teshsuite/simdag/is-router/is-router.cpp +++ b/teshsuite/simdag/is-router/is-router.cpp @@ -1,39 +1,58 @@ -/* Copyright (c) 2008-2015. The SimGrid Team. - * All rights reserved. */ +/* Copyright (c) 2008-2019. 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 +#include "simgrid/kernel/routing/NetPoint.hpp" +#include "simgrid/s4u/Engine.hpp" +#include "simgrid/s4u/Host.hpp" #include "simgrid/simdag.h" -#include "src/surf/surf_routing.hpp" + +#include +#include int main(int argc, char **argv) { - /* SD initialization */ - int size; - xbt_lib_cursor_t cursor = nullptr; - char *key, *data; - SD_init(&argc, argv); - - /* creation of the environment */ SD_create_environment(argv[1]); - size = xbt_dict_length(host_list) + xbt_lib_length(as_router_lib); - - printf("Host number: %zu, link number: %d, elmts number: %d\n", sg_host_count(), sg_link_count(), size); - - xbt_dict_foreach(host_list, cursor, key, data) { - simgrid::surf::NetCard * nc = sg_netcard_by_name_or_null(key); - printf(" - Seen: \"%s\". Type: %s\n", key, nc->isRouter() ? "router" : (nc->isAS()?"AS":"host")); + xbt_dynar_t hosts = sg_hosts_as_dynar(); + std::printf("Host count: %zu, link number: %d\n", sg_host_count(), sg_link_count()); + + std::vector netpoints = + simgrid::s4u::Engine::get_instance()->get_all_netpoints(); + std::sort(netpoints.begin(), netpoints.end(), + [](simgrid::kernel::routing::NetPoint* a, simgrid::kernel::routing::NetPoint* b) { + return a->get_name() < b->get_name(); + }); + + int it; + sg_host_t host; + xbt_dynar_foreach(hosts, it, host) { + simgrid::kernel::routing::NetPoint* nc = host->pimpl_netpoint; + const char *type = "buggy"; + if (nc->is_router()) + type = "router"; + if (nc->is_netzone()) + type = "netzone"; + if (nc->is_host()) + type = "host"; + std::printf(" - Seen: \"%s\". Type: %s\n", host->get_cname(), type); } - - xbt_lib_foreach(as_router_lib, cursor, key, data) { - simgrid::surf::NetCard * nc = sg_netcard_by_name_or_null(key); - printf(" - Seen: \"%s\". Type: %s\n", key, nc->isRouter() ? "router" : (nc->isAS()?"AS":"host")); + xbt_dynar_free(&hosts); + + std::printf("NetCards count: %zu\n", netpoints.size()); + for (auto const& nc : netpoints) { + const char* type; + if (nc->is_router()) + type = "router"; + else if (nc->is_netzone()) + type = "netzone"; + else if (nc->is_host()) + type = "host"; + else + type = "buggy"; + std::printf(" - Seen: \"%s\". Type: %s\n", nc->get_cname(), type); } - - SD_exit(); return 0; }