X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/39f579ce40d3bd04d9f64a7914b07d1ec3334e4b..56b2d2888ffca9ac2e5ad234f5944fc4a70abafb:/src/surf/network_ns3.cpp diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp index 9e9aa53e84..711f4f2739 100644 --- a/src/surf/network_ns3.cpp +++ b/src/surf/network_ns3.cpp @@ -55,9 +55,8 @@ static int number_of_networks = 1; simgrid::xbt::Extension NetPointNs3::EXTENSION_ID; -NetPointNs3::NetPointNs3() +NetPointNs3::NetPointNs3() : ns3_node_(ns3::CreateObject(0)) { - ns3_node_ = ns3::CreateObject(0); stack.Install(ns3_node_); nodes.Add(ns3_node_); node_num = number_of_nodes++; @@ -76,7 +75,7 @@ static void clusterCreation_cb(simgrid::kernel::routing::ClusterCreationArgs con // Create private link std::string host_id = cluster.prefix + std::to_string(i) + cluster.suffix; - auto* host_src = simgrid::s4u::Host::by_name(host_id)->pimpl_netpoint->extension(); + auto* host_src = simgrid::s4u::Host::by_name(host_id)->get_netpoint()->extension(); xbt_assert(host_src, "Cannot find a ns-3 host of name %s", host_id.c_str()); // Any ns-3 route is symmetrical @@ -286,7 +285,7 @@ LinkNS3::LinkNS3(NetworkNS3Model* model, const std::string& name, double bandwid bandwidth_.peak = bandwidth; latency_.peak = latency; - s4u::Link::on_creation(this->piface_); + s4u::Link::on_creation(*this->get_iface()); } LinkNS3::~LinkNS3() = default; @@ -324,17 +323,17 @@ NetworkNS3Action::NetworkNS3Action(Model* model, double totalBytes, s4u::Host* s static int port_number = 1025; // Port number is limited from 1025 to 65 000 - unsigned int node1 = src->pimpl_netpoint->extension()->node_num; - unsigned int node2 = dst->pimpl_netpoint->extension()->node_num; + unsigned int node1 = src->get_netpoint()->extension()->node_num; + unsigned int node2 = dst->get_netpoint()->extension()->node_num; - ns3::Ptr src_node = src->pimpl_netpoint->extension()->ns3_node_; - ns3::Ptr dst_node = dst->pimpl_netpoint->extension()->ns3_node_; + ns3::Ptr src_node = src->get_netpoint()->extension()->ns3_node_; + ns3::Ptr dst_node = dst->get_netpoint()->extension()->ns3_node_; xbt_assert(node2 < IPV4addr.size(), "Element %s is unknown to ns-3. Is it connected to any one-hop link?", - dst->pimpl_netpoint->get_cname()); + dst->get_netpoint()->get_cname()); std::string& addr = IPV4addr[node2]; xbt_assert(not addr.empty(), "Element %s is unknown to ns-3. Is it connected to any one-hop link?", - dst->pimpl_netpoint->get_cname()); + dst->get_netpoint()->get_cname()); XBT_DEBUG("ns3: Create flow of %.0f Bytes from %u to %u with Interface %s", totalBytes, node1, node2, addr.c_str()); ns3::PacketSinkHelper sink("ns3::TcpSocketFactory", ns3::InetSocketAddress(ns3::Ipv4Address::GetAny(), port_number));