X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cb3b89f0092e32cae6038964a0a6d4cefa7812ed..2652a7d2c9ebb969683d8fd94b11c96489327912:/src/surf/ns3/ns3_simulator.h diff --git a/src/surf/ns3/ns3_simulator.h b/src/surf/ns3/ns3_simulator.h index ddf1ab603b..8cec673f99 100644 --- a/src/surf/ns3/ns3_simulator.h +++ b/src/surf/ns3/ns3_simulator.h @@ -12,44 +12,42 @@ #include #include "ns3_interface.h" -#include "ns3/core-module.h" -#include "my-point-to-point-helper.h" - -#include "ns3/node.h" -#include "ns3/global-route-manager.h" -#include "ns3/csma-helper.h" -#include "ns3/internet-stack-helper.h" -#include "ns3/ipv4-address-helper.h" -#include "ns3/point-to-point-helper.h" -#include "ns3/packet-sink-helper.h" -#include "ns3/inet-socket-address.h" -#include "ns3/tcp-socket-factory.h" - -struct MySocket{ - std::uint32_t bufferedBytes = 0; - std::uint32_t sentBytes = 0; - std::uint32_t remaining; - std::uint32_t totalBytes; - bool finished = false; - simgrid::surf::NetworkNS3Action* action; +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +class SgFlow { +public: + SgFlow(uint32_t totalBytes, simgrid::surf::NetworkNS3Action * action); + +//private: + std::uint32_t bufferedBytes_ = 0; + std::uint32_t sentBytes_ = 0; + std::uint32_t remaining_; + std::uint32_t totalBytes_; + bool finished_ = false; + simgrid::surf::NetworkNS3Action* action_; }; -//Simulator s; -class NS3Sim { +void StartFlow(ns3::Ptr sock, const char *to, uint16_t port_number); -private: +static inline const char *transformSocketPtr (ns3::Ptr localSocket) +{ + static char key[24]; + std::stringstream sstream; + sstream << localSocket ; + sprintf(key,"%s",sstream.str().c_str()); -public: - NS3Sim(); - void create_flow_NS3(ns3::Ptr src, - ns3::Ptr dst, - std::uint16_t port_number, - double start, - const char *addr, - std::uint32_t TotalBytes, - simgrid::surf::NetworkNS3Action * action); - void simulator_start(double min); -}; + return key; +} #endif /* __cplusplus */