From: Martin Quinson Date: Sun, 20 Mar 2016 23:51:18 +0000 (+0100) Subject: NS3: Remove content from NS3Sim(), to later kill it X-Git-Tag: v3_13~356 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/cb3b89f0092e32cae6038964a0a6d4cefa7812ed NS3: Remove content from NS3Sim(), to later kill it --- diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp index 5cb83009d7..871a39ccfa 100644 --- a/src/surf/network_ns3.cpp +++ b/src/surf/network_ns3.cpp @@ -284,7 +284,7 @@ NetworkNS3Model::NetworkNS3Model() : NetworkModel() { } NetworkNS3Model::~NetworkNS3Model() { - ns3_finalize(); + delete ns3_sim; xbt_dynar_free_container(&IPV4addr); xbt_dict_free(&dict_socket); } @@ -503,14 +503,6 @@ int ns3_create_flow(const char* a,const char *b,double start,u_int32_t TotalByte return 0; } -// clean up -void ns3_finalize(){ - if (!ns3_sim) - return; - delete ns3_sim; - ns3_sim = 0; -} - // initialize the NS3 interface and environment int ns3_initialize(const char* TcpProtocol){ xbt_assert(!ns3_sim, "ns3 already initialized"); diff --git a/src/surf/ns3/ns3_interface.h b/src/surf/ns3/ns3_interface.h index 0537b104e4..d80c85beb4 100644 --- a/src/surf/ns3/ns3_interface.h +++ b/src/surf/ns3/ns3_interface.h @@ -38,7 +38,6 @@ XBT_PUBLIC_DATA(int) NS3_EXTENSION_ID; SG_BEGIN_DECL() -XBT_PUBLIC(void) ns3_finalize(); XBT_PUBLIC(int) ns3_initialize(const char* TcpProtocol); XBT_PUBLIC(int) ns3_create_flow(const char* a,const char *b,double start,u_int32_t TotalBytes,simgrid::surf::NetworkNS3Action * action); XBT_PUBLIC(void) ns3_simulator(double min); diff --git a/src/surf/ns3/ns3_simulator.cc b/src/surf/ns3/ns3_simulator.cc index de44c3858a..e172c414b1 100644 --- a/src/surf/ns3/ns3_simulator.cc +++ b/src/surf/ns3/ns3_simulator.cc @@ -26,8 +26,6 @@ XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(ns3); NS3Sim::NS3Sim(){ } -NS3Sim::~NS3Sim(){ -} static inline void transformSocketPtr (Ptr localSocket) { @@ -54,21 +52,14 @@ static void delete_mysocket(void *p) * addr: ip address * totalBytes: number of bytes to transmit */ -void NS3Sim::create_flow_NS3( - Ptr src, - Ptr dst, - uint16_t port_number, - double start, - const char *addr, - uint32_t totalBytes, +void NS3Sim::create_flow_NS3(Ptr src, Ptr dst, uint16_t port_number, + double startTime, const char *ipAddr, uint32_t totalBytes, simgrid::surf::NetworkNS3Action * action) { if(!dict_socket) dict_socket = xbt_dict_new_homogeneous(delete_mysocket); - PacketSinkHelper sink ("ns3::TcpSocketFactory", - InetSocketAddress (Ipv4Address::GetAny(), - port_number)); + PacketSinkHelper sink("ns3::TcpSocketFactory", InetSocketAddress (Ipv4Address::GetAny(), port_number)); sink.Install (dst); Ptr sock = Socket::CreateSocket (src, TcpSocketFactory::GetTypeId()); @@ -82,9 +73,11 @@ void NS3Sim::create_flow_NS3( xbt_dict_set(dict_socket,socket_key, mysocket,NULL); sock->Bind(InetSocketAddress(port_number)); - XBT_DEBUG("Create flow starting to %fs + %fs = %fs",start-ns3::Simulator::Now().GetSeconds(), ns3::Simulator::Now().GetSeconds(), start); + XBT_DEBUG("Create flow starting to %fs + %fs = %fs", + startTime-ns3::Simulator::Now().GetSeconds(), ns3::Simulator::Now().GetSeconds(), startTime); - Simulator::Schedule (Seconds(start-ns3::Simulator::Now().GetSeconds()),&StartFlow, sock, addr, port_number); + Simulator::Schedule (Seconds(startTime-ns3::Simulator::Now().GetSeconds()), + &StartFlow, sock, ipAddr, port_number); } void NS3Sim::simulator_start(double min){ diff --git a/src/surf/ns3/ns3_simulator.h b/src/surf/ns3/ns3_simulator.h index 6296b1197a..ddf1ab603b 100644 --- a/src/surf/ns3/ns3_simulator.h +++ b/src/surf/ns3/ns3_simulator.h @@ -41,7 +41,6 @@ private: public: NS3Sim(); - ~NS3Sim(); void create_flow_NS3(ns3::Ptr src, ns3::Ptr dst, std::uint16_t port_number,