X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ba9a4cfeba4eb00e84cd17603fc9654e81445655..9735863c1ccb1ae8b55853262d6e1c3ee3a8698f:/src/surf/network_ns3.cpp
diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp
index 491fa43437..f86ef2c182 100644
--- a/src/surf/network_ns3.cpp
+++ b/src/surf/network_ns3.cpp
@@ -11,6 +11,8 @@
#include "simgrid/sg_config.h"
#include "src/instr/instr_private.h" // TRACE_is_enabled(). FIXME: remove by subscribing tracing to the surf signals
+#include "simgrid/s4u/As.hpp"
+
XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(ns3);
int NS3_EXTENSION_ID;
@@ -55,9 +57,9 @@ static void simgrid_ns3_add_router(simgrid::surf::NetCard* router)
);
}
-static void parse_ns3_add_AS(simgrid::surf::As* as)
+static void parse_ns3_add_AS(simgrid::s4u::As* as)
{
- const char* as_id = as->name_;
+ const char* as_id = as->name();
XBT_DEBUG("NS3_ADD_AS '%s'", as_id);
xbt_lib_set(as_router_lib, as_id, NS3_ASR_LEVEL, ns3_add_AS(as_id) );
}
@@ -273,13 +275,6 @@ Link* NetworkNS3Model::createLink(const char *name,
return link;
}
-xbt_dynar_t NetworkNS3Model::getRoute(NetCard *src, NetCard *dst)
-{
- xbt_dynar_t route = NULL;
- routing_platf->getRouteAndLatency(src, dst, &route, NULL);
- return route;
-}
-
Action *NetworkNS3Model::communicate(NetCard *src, NetCard *dst,
double size, double rate)
{
@@ -345,18 +340,13 @@ void NetworkNS3Model::updateActionsState(double now, double delta)
double data_sent = ns3_get_socket_sent(data);
double data_delta_sent = data_sent - action->m_lastSent;
- xbt_dynar_t route = NULL;
-
- routing_platf->getRouteAndLatency (action->p_srcElm, action->p_dstElm, &route, NULL);
- unsigned int i;
- for (i = 0; i < xbt_dynar_length (route); i++){
- NetworkNS3Link* link = ((NetworkNS3Link*)xbt_dynar_get_ptr(route, i));
- TRACE_surf_link_set_utilization (link->getName(),
- action->getCategory(),
- (data_delta_sent)/delta,
- now-delta,
- delta);
- }
+ std::vector *route = new std::vector();
+
+ routing_platf->getRouteAndLatency (action->p_srcElm, action->p_dstElm, route, NULL);
+ for (auto link : *route)
+ TRACE_surf_link_set_utilization (link->getName(), action->getCategory(), (data_delta_sent)/delta, now-delta, delta);
+ delete route;
+
action->m_lastSent = data_sent;
}
@@ -409,13 +399,7 @@ NetworkNS3Action::NetworkNS3Action(Model *model, double cost, bool failed)
: NetworkAction(model, cost, failed)
{}
-#ifdef HAVE_LATENCY_BOUND_TRACKING
- int NetworkNS3Action::getLatencyLimited() {
- return m_latencyLimited;
- }
-#endif
-
- void NetworkNS3Action::suspend()
+void NetworkNS3Action::suspend()
{
THROW_UNIMPLEMENTED;
}