X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/96b18f4b65694f66c8aea2d702b6f087fdcf9cb7..6a923fd453c6cf3787ae85ebdae7035a46272e03:/src/surf/network_ns3.cpp diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp index 515ce2cd9b..1acad86da7 100644 --- a/src/surf/network_ns3.cpp +++ b/src/surf/network_ns3.cpp @@ -61,7 +61,7 @@ static void ns3_add_host(simgrid::s4u::Host& host) static void ns3_add_netcard(simgrid::kernel::routing::NetCard* netcard) { - xbt_lib_set(as_router_lib, netcard->name(), NS3_ASR_LEVEL, new HostNs3()); + xbt_lib_set(as_router_lib, netcard->name().c_str(), NS3_ASR_LEVEL, new HostNs3()); } #include "src/surf/xml/platf.hpp" // FIXME: move that back to the parsing area @@ -107,16 +107,14 @@ static void create_ns3_topology(void) xbt_dynar_shrink(IPV4addr,0); //get the onelinks from the parsed platform - xbt_dynar_t onelink_routes = routing_platf->getOneLinkRoutes(); + std::vector* onelink_routes = routing_platf->getOneLinkRoutes(); std::unordered_set already_seen = std::unordered_set(); - XBT_DEBUG("There is %ld one-link routes",onelink_routes->used); - simgrid::kernel::routing::Onelink *onelink; - unsigned int iter; - xbt_dynar_foreach(onelink_routes, iter, onelink) { - char *src = onelink->src_->name(); - char *dst = onelink->dst_->name(); + XBT_DEBUG("There is %ld one-link routes", onelink_routes->size()); + for (simgrid::kernel::routing::Onelink* onelink : *onelink_routes) { + const char* src = onelink->src_->name().c_str(); + const char* dst = onelink->dst_->name().c_str(); simgrid::surf::LinkNS3 *link = static_cast(onelink->link_); if (strcmp(src,dst) && (already_seen.find(link) == already_seen.end())) { @@ -174,7 +172,6 @@ namespace surf { NetworkNS3Model::NetworkNS3Model() : NetworkModel() { ns3_initialize(ns3_tcp_model.get().c_str()); - routing_model_create(nullptr); simgrid::s4u::Host::onCreation.connect(ns3_add_host); simgrid::kernel::routing::netcardCreatedCallbacks.connect(ns3_add_netcard); simgrid::surf::on_cluster.connect (&parse_ns3_add_cluster); @@ -193,10 +190,10 @@ NetworkNS3Model::~NetworkNS3Model() { xbt_dict_free(&flowFromSock); } -Link* NetworkNS3Model::createLink(const char *name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy, - xbt_dict_t properties){ - - return new LinkNS3(this, name, properties, bandwidth, latency); +Link* NetworkNS3Model::createLink(const char* name, double bandwidth, double latency, + e_surf_link_sharing_policy_t policy) +{ + return new LinkNS3(this, name, bandwidth, latency); } Action* NetworkNS3Model::communicate(s4u::Host* src, s4u::Host* dst, double size, double rate) @@ -283,8 +280,8 @@ void NetworkNS3Model::updateActionsState(double now, double delta) * Resource * ************/ -LinkNS3::LinkNS3(NetworkNS3Model *model, const char *name, xbt_dict_t props, double bandwidth, double latency) - : Link(model, name, props) +LinkNS3::LinkNS3(NetworkNS3Model* model, const char* name, double bandwidth, double latency) + : Link(model, name, nullptr) { bandwidth_.peak = bandwidth; latency_.peak = latency;