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;
}
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);
nodes.Add(node);
host->node_num = number_of_nodes;
host->type = NS3_NETWORK_ELEMENT_HOST;
- host->data = GetPointer(node);
number_of_nodes++;
return host;
}
nodes.Add(node);
host->node_num = number_of_nodes;
host->type = NS3_NETWORK_ELEMENT_HOST;
- host->data = node;
number_of_nodes++;
return host;
}
nodes.Add(node);
router->node_num = number_of_nodes;
router->type = NS3_NETWORK_ELEMENT_ROUTER;
- router->data = node;
number_of_nodes++;
return router;
}
#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 */
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;
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);
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);
#include <cstdint>
+#include "ns3_interface.h"
#include "ns3/core-module.h"
#include "my-point-to-point-helper.h"
std::uint32_t remaining;
std::uint32_t totalBytes;
char finished;
- void* action;
+ simgrid::surf::NetworkNS3Action* action;
};
//Simulator s;
double start,
const char *addr,
std::uint32_t TotalBytes,
- void * action);
+ simgrid::surf::NetworkNS3Action * action);
void simulator_start(double min);
};