#include "src/surf/surf_private.h"
#include "src/surf/host_interface.hpp"
#include "simgrid/sg_config.h"
#include "src/surf/surf_private.h"
#include "src/surf/host_interface.hpp"
#include "simgrid/sg_config.h"
{
const char* router_id = router->getName();
XBT_DEBUG("NS3_ADD_ROUTER '%s'",router_id);
{
const char* router_id = router->getName();
XBT_DEBUG("NS3_ADD_ROUTER '%s'",router_id);
start = surf_parse_get_int(xbt_dynar_get_as(radical_ends, 0, char *));
xbt_dynar_push_as(tab_elements_num, int, start);
router_id = bprintf("ns3_%s%d%s", cluster_prefix, start, cluster_suffix);
start = surf_parse_get_int(xbt_dynar_get_as(radical_ends, 0, char *));
xbt_dynar_push_as(tab_elements_num, int, start);
router_id = bprintf("ns3_%s%d%s", cluster_prefix, start, cluster_suffix);
- simgrid::Host::by_name_or_create(router_id)
- ->set_facet(NS3_HOST_LEVEL, ns3_add_host_cluster(router_id));
+ simgrid::s4u::Host::by_name_or_create(router_id)
+ ->extension_set(NS3_EXTENSION_ID, ns3_add_host_cluster(router_id));
for (i = start; i <= end; i++){
xbt_dynar_push_as(tab_elements_num, int, i);
router_id = bprintf("ns3_%s%d%s", cluster_prefix, i, cluster_suffix);
for (i = start; i <= end; i++){
xbt_dynar_push_as(tab_elements_num, int, i);
router_id = bprintf("ns3_%s%d%s", cluster_prefix, i, cluster_suffix);
- simgrid::Host::by_name_or_create(router_id)
- ->set_facet(NS3_HOST_LEVEL, ns3_add_host_cluster(router_id));
+ simgrid::s4u::Host::by_name_or_create(router_id)
+ ->extension_set(NS3_EXTENSION_ID, ns3_add_host_cluster(router_id));
- simgrid::surf::hostCreatedCallbacks.connect(simgrid_ns3_add_host);
- simgrid::surf::routingEdgeCreatedCallbacks.connect(simgrid_ns3_add_router);
- sg_platf_link_add_cb (&parse_ns3_add_link);
- sg_platf_cluster_add_cb (&parse_ns3_add_cluster);
+ simgrid::s4u::Host::onCreation.connect(simgrid_ns3_add_host);
+ simgrid::surf::netcardCreatedCallbacks.connect(simgrid_ns3_add_router);
+ simgrid::surf::on_link.connect (&parse_ns3_add_link);
+ simgrid::surf::on_cluster.connect (&parse_ns3_add_cluster);
- sg_platf_postparse_add_cb(&create_ns3_topology); //get_one_link_routes
- sg_platf_postparse_add_cb(&parse_ns3_end_platform); //InitializeRoutes
+ simgrid::surf::on_postparse.connect(&create_ns3_topology); //get_one_link_routes
+ simgrid::surf::on_postparse.connect(&parse_ns3_end_platform); //InitializeRoutes
tmgr_trace_t state_trace,
e_surf_link_sharing_policy_t policy,
xbt_dict_t properties){
tmgr_trace_t state_trace,
e_surf_link_sharing_policy_t policy,
xbt_dict_t properties){
if (state_trace)
XBT_INFO("The NS3 network model doesn't support link state traces");
Link* link = new NetworkNS3Link(this, name, properties, bw_initial, lat_initial);
if (state_trace)
XBT_INFO("The NS3 network model doesn't support link state traces");
Link* link = new NetworkNS3Link(this, name, properties, bw_initial, lat_initial);
- routing_get_route_and_latency(src, dst, &route, NULL);
- //routing_platf->getRouteAndLatency(src, dst, &route, NULL);
+ routing_platf->getRouteAndLatency(src, dst, &route, NULL);
double size, double rate)
{
XBT_DEBUG("Communicate from %s to %s", src->getName(), dst->getName());
double size, double rate)
{
XBT_DEBUG("Communicate from %s to %s", src->getName(), dst->getName());
- surf_callback_emit(networkCommunicateCallbacks, action, src, dst, size, rate);
+ networkCommunicateCallbacks(action, src, dst, size, rate);
- routing_get_route_and_latency (action->p_srcElm, action->p_dstElm, &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));
unsigned int i;
for (i = 0; i < xbt_dynar_length (route); i++){
NetworkNS3Link* link = ((NetworkNS3Link*)xbt_dynar_get_ptr(route, i));