* Crude globals *
*****************/
-extern xbt_dict_t dict_socket;
+extern xbt_dict_t flowFromSock;
static ns3::InternetStackHelper stack;
static ns3::NodeContainer nodes;
}
NetworkNS3Model::~NetworkNS3Model() {
- ns3_finalize();
+ delete ns3_sim;
xbt_dynar_free_container(&IPV4addr);
- xbt_dict_free(&dict_socket);
+ xbt_dict_free(&flowFromSock);
}
Link* NetworkNS3Model::createLink(const char *name, double bandwidth, double latency, e_surf_link_sharing_policy_t policy,
}
NetworkNS3Action *action;
- xbt_dict_foreach(dict_socket,cursor,key,data){
+ xbt_dict_foreach(flowFromSock,cursor,key,data){
action = static_cast<NetworkNS3Action*>(ns3_get_socket_action(data));
XBT_DEBUG("Processing socket %p (action %p)",data,action);
action->setRemains(action->getCost() - ns3_get_socket_sent(data));
while (!xbt_dynar_is_empty(socket_to_destroy)){
xbt_dynar_pop(socket_to_destroy,&key);
- void *data = xbt_dict_get (dict_socket, key);
+ void *data = xbt_dict_get (flowFromSock, key);
action = static_cast<NetworkNS3Action*>(ns3_get_socket_action(data));
XBT_DEBUG ("Removing socket %p of action %p", key, action);
- xbt_dict_remove(dict_socket, key);
+ xbt_dict_remove(flowFromSock, key);
}
return;
}
}
simgrid::surf::NetworkNS3Action* ns3_get_socket_action(void *socket){
- return ((MySocket *)socket)->action;
+ return ((SgFlow *)socket)->action_;
}
double ns3_get_socket_remains(void *socket){
- return ((MySocket *)socket)->remaining;
+ return ((SgFlow *)socket)->remaining_;
}
double ns3_get_socket_sent(void *socket){
- return ((MySocket *)socket)->sentBytes;
+ return ((SgFlow *)socket)->sentBytes_;
}
bool ns3_get_socket_is_finished(void *socket){
- return ((MySocket *)socket)->finished;
+ return ((SgFlow *)socket)->finished_;
}
int ns3_create_flow(const char* a,const char *b,double start,u_int32_t TotalBytes,simgrid::surf::NetworkNS3Action * action)
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");