Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
ns3: kill an unused void*, qualify another one
authorMartin Quinson <martin.quinson@loria.fr>
Sun, 20 Mar 2016 23:03:56 +0000 (00:03 +0100)
committerMartin Quinson <martin.quinson@loria.fr>
Sun, 20 Mar 2016 23:12:17 +0000 (00:12 +0100)
src/surf/ns3/ns3_interface.cc
src/surf/ns3/ns3_interface.h
src/surf/ns3/ns3_simulator.cc
src/surf/ns3/ns3_simulator.h

index 8a0055a..6007a3a 100644 (file)
@@ -36,7 +36,7 @@ void ns3_simulator(double min){
                        ns3_sim->simulator_start(min);
 }
 
-void* ns3_get_socket_action(void *socket){
+simgrid::surf::NetworkNS3Action* ns3_get_socket_action(void *socket){
   return ((MySocket *)socket)->action;
 }
 
@@ -52,7 +52,7 @@ char ns3_get_socket_is_finished(void *socket){
   return ((MySocket *)socket)->finished;
 }
 
-int ns3_create_flow(const char* a,const char *b,double start,u_int32_t TotalBytes,void * action)
+int ns3_create_flow(const char* a,const char *b,double start,u_int32_t TotalBytes,simgrid::surf::NetworkNS3Action * action)
 {
        ns3_node_t node1 = ns3_find_host(a);
        ns3_node_t node2 = ns3_find_host(b);
@@ -129,7 +129,6 @@ void * ns3_add_host(const char * id)
        nodes.Add(node);
        host->node_num = number_of_nodes;
        host->type = NS3_NETWORK_ELEMENT_HOST;
-       host->data = GetPointer(node);
        number_of_nodes++;
        return host;
 }
@@ -144,7 +143,6 @@ void * ns3_add_host_cluster(const char * id)
        nodes.Add(node);
        host->node_num = number_of_nodes;
        host->type = NS3_NETWORK_ELEMENT_HOST;
-       host->data = node;
        number_of_nodes++;
        return host;
 }
@@ -158,7 +156,6 @@ void * ns3_add_router(const char * id)
        nodes.Add(node);
        router->node_num = number_of_nodes;
        router->type = NS3_NETWORK_ELEMENT_ROUTER;
-       router->data = node;
        number_of_nodes++;
        return router;
 }
index 6f94334..5496b93 100644 (file)
 #include <simgrid/s4u/host.hpp>
 #include <surf/surf_routing.h>
 
+namespace simgrid{
+  namespace surf{
+    class NetworkNS3Action;
+  }
+}
 typedef enum {
   NS3_NETWORK_ELEMENT_NULL = 0,    /* NULL */
   NS3_NETWORK_ELEMENT_HOST,      /* host type */
@@ -27,7 +32,6 @@ typedef enum {
 typedef struct ns3_node {
   int node_num;
   e_ns3_network_element_type_t type;
-  void * data;
 } s_ns3_node_t, *ns3_node_t;
 
 XBT_PUBLIC_DATA(int) NS3_EXTENSION_ID;
@@ -36,9 +40,9 @@ SG_BEGIN_DECL()
 
 XBT_PUBLIC(int)    ns3_finalize(void);
 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,void * action);
+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);
-XBT_PUBLIC(void*)  ns3_get_socket_action(void *socket);
+XBT_PUBLIC(simgrid::surf::NetworkNS3Action*)  ns3_get_socket_action(void *socket);
 XBT_PUBLIC(double) ns3_get_socket_remains(void *socket);
 XBT_PUBLIC(double) ns3_get_socket_sent(void *socket);
 XBT_PUBLIC(char)   ns3_get_socket_is_finished(void *socket);
index df043f2..7b77929 100644 (file)
@@ -61,7 +61,7 @@ void NS3Sim::create_flow_NS3(
                double start,
                const char *addr,
                uint32_t totalBytes,
-               void * action)
+               simgrid::surf::NetworkNS3Action * action)
 {
        if(!dict_socket)
          dict_socket = xbt_dict_new_homogeneous(delete_mysocket);
index 73e2305..c4e8bf9 100644 (file)
@@ -11,6 +11,7 @@
 
 #include <cstdint>
 
+#include "ns3_interface.h"
 #include "ns3/core-module.h"
 #include "my-point-to-point-helper.h"
 
@@ -30,7 +31,7 @@ struct MySocket{
   std::uint32_t remaining;
   std::uint32_t totalBytes;
   char finished;
-  void* action;
+  simgrid::surf::NetworkNS3Action* action;
 };
 
 //Simulator s;
@@ -47,7 +48,7 @@ public:
             double start,
             const char *addr,
             std::uint32_t TotalBytes,
-            void * action);
+            simgrid::surf::NetworkNS3Action * action);
   void simulator_start(double min);
 };