From d6acbcf37ffed134125f758771c69e7c3c38d929 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Tue, 22 Mar 2016 22:10:23 +0100 Subject: [PATCH 1/1] ns3: kill useless C -> C++ interface remainings --- src/surf/network_ns3.cpp | 48 +++++++++++------------------------- src/surf/ns3/ns3_interface.h | 4 --- 2 files changed, 15 insertions(+), 37 deletions(-) diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp index d6d6c950ec..6ede3c79de 100644 --- a/src/surf/network_ns3.cpp +++ b/src/surf/network_ns3.cpp @@ -345,17 +345,16 @@ void NetworkNS3Model::updateActionsState(double now, double delta) } xbt_dict_cursor_t cursor = NULL; - char *key; - void *data; - xbt_dict_foreach(flowFromSock,cursor,key,data){ - NetworkNS3Action * action = static_cast(ns3_get_socket_action(data)); - XBT_DEBUG("Processing socket %p (action %p)",data,action); - action->setRemains(action->getCost() - ns3_get_socket_sent(data)); + char *ns3Socket; + SgFlow *sgFlow; + xbt_dict_foreach(flowFromSock,cursor,ns3Socket,sgFlow){ + NetworkNS3Action * action = sgFlow->action_; + XBT_DEBUG("Processing socket %p (action %p)",sgFlow,action); + action->setRemains(action->getCost() - sgFlow->sentBytes_); if (TRACE_is_enabled() && action->getState() == Action::State::running){ - double data_sent = ns3_get_socket_sent(data); - double data_delta_sent = data_sent - action->m_lastSent; + double data_delta_sent = sgFlow->sentBytes_ - action->m_lastSent; std::vector *route = new std::vector(); @@ -364,26 +363,25 @@ void NetworkNS3Model::updateActionsState(double now, double delta) TRACE_surf_link_set_utilization (link->getName(), action->getCategory(), (data_delta_sent)/delta, now-delta, delta); delete route; - action->m_lastSent = data_sent; + action->m_lastSent = sgFlow->sentBytes_; } - if(ns3_get_socket_is_finished(data) == 1){ - xbt_dynar_push(socket_to_destroy,&key); - XBT_DEBUG("Destroy socket %p of action %p", key, action); + if(sgFlow->finished_){ + xbt_dynar_push(socket_to_destroy,&ns3Socket); + XBT_DEBUG("Destroy socket %p of action %p", ns3Socket, action); action->finish(); action->setState(Action::State::done); } } while (!xbt_dynar_is_empty(socket_to_destroy)){ - xbt_dynar_pop(socket_to_destroy,&key); + xbt_dynar_pop(socket_to_destroy,&ns3Socket); if (XBT_LOG_ISENABLED(ns3, xbt_log_priority_debug)) { - SgFlow *data = (SgFlow*)xbt_dict_get (flowFromSock, key); - NetworkNS3Action * action = static_cast(ns3_get_socket_action(data)); - XBT_DEBUG ("Removing socket %p of action %p", key, action); + SgFlow *flow = (SgFlow*)xbt_dict_get (flowFromSock, ns3Socket); + XBT_DEBUG ("Removing socket %p of action %p", ns3Socket, flow->action_); } - xbt_dict_remove(flowFromSock, key); + xbt_dict_remove(flowFromSock, ns3Socket); } return; } @@ -465,22 +463,6 @@ void ns3_simulator(double min){ ns3_sim->simulator_start(min); } -simgrid::surf::NetworkNS3Action* ns3_get_socket_action(void *socket){ - return ((SgFlow *)socket)->action_; -} - -double ns3_get_socket_remains(void *socket){ - return ((SgFlow *)socket)->remaining_; -} - -double ns3_get_socket_sent(void *socket){ - return ((SgFlow *)socket)->sentBytes_; -} - -bool ns3_get_socket_is_finished(void *socket){ - return ((SgFlow *)socket)->finished_; -} - 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); diff --git a/src/surf/ns3/ns3_interface.h b/src/surf/ns3/ns3_interface.h index d80c85beb4..1aafa368ee 100644 --- a/src/surf/ns3/ns3_interface.h +++ b/src/surf/ns3/ns3_interface.h @@ -41,10 +41,6 @@ SG_BEGIN_DECL() 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,simgrid::surf::NetworkNS3Action * action); XBT_PUBLIC(void) ns3_simulator(double min); -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(bool) ns3_get_socket_is_finished(void *socket); XBT_PUBLIC(void *) ns3_add_host_cluster(const char * id); XBT_PUBLIC(void *) ns3_add_router(const char * id); XBT_PUBLIC(void *) ns3_add_AS(const char * id); -- 2.20.1