X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/d86cccab023b61606ca9009116b4abe54b62a3b6..ce87516da629c9b6a350d8c28f806926863aa94a:/src/surf/ns3/ns3_simulator.hpp diff --git a/src/surf/ns3/ns3_simulator.hpp b/src/surf/ns3/ns3_simulator.hpp index 20c81b7124..996a567fa2 100644 --- a/src/surf/ns3/ns3_simulator.hpp +++ b/src/surf/ns3/ns3_simulator.hpp @@ -9,26 +9,26 @@ #include "simgrid/s4u/Host.hpp" #include "src/surf/network_ns3.hpp" +#include "ns3/wifi-module.h" #include #include -#include "ns3/wifi-module.h" #include -class NetPointNs3 { +class XBT_PRIVATE NetPointNs3 { public: static simgrid::xbt::Extension EXTENSION_ID; explicit NetPointNs3(); - int node_num; ns3::Ptr ns3_node_; + std::string ipv4_address_; }; -XBT_PUBLIC void ns3_initialize(std::string TcpProtocol); -XBT_PUBLIC void ns3_simulator(double max_seconds); -XBT_PUBLIC void ns3_add_direct_route(NetPointNs3* src, NetPointNs3* dst, double bw, double lat, std::string link_name, - simgrid::s4u::Link::SharingPolicy policy); -XBT_PUBLIC void ns3_add_cluster(const char* id, double bw, double lat); +XBT_PRIVATE void ns3_initialize(std::string TcpProtocol); +XBT_PRIVATE void ns3_simulator(double max_seconds); +XBT_PRIVATE void ns3_add_direct_route(simgrid::kernel::routing::NetPoint* src, simgrid::kernel::routing::NetPoint* dst, + double bw, double lat, const std::string& link_name, + simgrid::s4u::Link::SharingPolicy policy); class XBT_PRIVATE SgFlow { public: @@ -43,7 +43,7 @@ public: simgrid::kernel::resource::NetworkNS3Action* action_; }; -void start_flow(ns3::Ptr sock, const char* to, uint16_t port_number); +XBT_PRIVATE void start_flow(ns3::Ptr sock, const char* to, uint16_t port_number); static inline std::string transform_socket_ptr(ns3::Ptr local_socket) { @@ -55,22 +55,23 @@ static inline std::string transform_socket_ptr(ns3::Ptr local_socke class XBT_PRIVATE WifiZone { public: WifiZone(std::string name_, simgrid::s4u::Host* host_, ns3::Ptr ap_node_, - ns3::Ptr channel_, int network_, int link_); - - const char* get_cname(); - simgrid::s4u::Host* get_host(); - ns3::Ptr get_ap_node(); - ns3::Ptr get_channel(); - int get_network(); - int get_link(); - int get_n_sta_nodes(); - - void set_ap_node(ns3::Ptr ap_node_); - void set_network(int network_); - void set_link(int link_); - void add_sta_node(); - static bool is_ap(ns3::Ptr ap); - + ns3::Ptr channel_, int mcs_, int nss_, int network_, int link_); + + const char* get_cname() { return name.c_str(); } + simgrid::s4u::Host* get_host() { return host; } + ns3::Ptr get_ap_node() { return ap_node; } + ns3::Ptr get_channel() { return channel; } + int get_mcs() { return mcs; } + int get_nss() { return nss; } + int get_network() { return network; } + int get_link() { return link; } + int get_n_sta_nodes() { return n_sta_nodes; } + + void set_network(int network_) { network = network_; } + void set_link(int link_) { link = link_; } + void add_sta_node() { n_sta_nodes++; } + + static bool is_ap(ns3::Ptr node); static WifiZone* by_name(std::string name); private: @@ -78,9 +79,11 @@ private: simgrid::s4u::Host* host; ns3::Ptr ap_node; ns3::Ptr channel; + int mcs; + int nss; int network; int link; - int n_sta_nodes; + int n_sta_nodes = 0; static std::unordered_map wifi_zones; };