Do so by unspecializing the parsing of NS3 links compared to other models.
=> double win!
host.extension_set(NS3_EXTENSION_ID, ns3host);
}
host.extension_set(NS3_EXTENSION_ID, ns3host);
}
-static void parse_ns3_add_link(sg_platf_link_cbarg_t link)
-{
- XBT_DEBUG("NS3_ADD_LINK '%s'",link->id);
-
- Link *l = surf_network_model->createLink(link->id, link->bandwidth, link->latency, link->policy, link->properties);
- if (link->bandwidth_trace)
- l->setBandwidthTrace(link->latency_trace);
- if (link->latency_trace)
- l->setLatencyTrace(link->latency_trace);
- if (link->state_trace)
- l->setStateTrace(link->state_trace);
-}
static void simgrid_ns3_add_router(simgrid::surf::NetCard* router)
{
const char* router_id = router->name();
static void simgrid_ns3_add_router(simgrid::surf::NetCard* router)
{
const char* router_id = router->name();
routing_model_create(NULL);
simgrid::s4u::Host::onCreation.connect(simgrid_ns3_add_host);
simgrid::surf::netcardCreatedCallbacks.connect(simgrid_ns3_add_router);
routing_model_create(NULL);
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_link.connect(netlink_parse_init);
simgrid::surf::on_cluster.connect (&parse_ns3_add_cluster);
simgrid::surf::asCreatedCallbacks.connect(parse_ns3_add_AS);
simgrid::surf::on_postparse.connect(&create_ns3_topology); //get_one_link_routes
simgrid::surf::on_cluster.connect (&parse_ns3_add_cluster);
simgrid::surf::asCreatedCallbacks.connect(parse_ns3_add_AS);
simgrid::surf::on_postparse.connect(&create_ns3_topology); //get_one_link_routes
if (action_hook.is_linked())
p_stateSet->erase(p_stateSet->iterator_to(*this));
XBT_DEBUG ("Removing action %p", this);
if (action_hook.is_linked())
p_stateSet->erase(p_stateSet->iterator_to(*this));
XBT_DEBUG ("Removing action %p", this);