if (surf_network_model)
return;
- simgrid::surf::on_link.connect(netlink_parse_init);
surf_network_model = new simgrid::surf::NetworkCm02Model();
xbt_dynar_push(all_existing_models, &surf_network_model);
if (surf_network_model)
return;
- simgrid::surf::on_link.connect(netlink_parse_init);
surf_network_model = new simgrid::surf::NetworkCm02Model();
xbt_dynar_push(all_existing_models, &surf_network_model);
if (surf_network_model)
return;
- simgrid::surf::on_link.connect(netlink_parse_init);
surf_network_model = new simgrid::surf::NetworkCm02Model();
xbt_dynar_push(all_existing_models, &surf_network_model);
if (surf_network_model)
return;
- simgrid::surf::on_link.connect(netlink_parse_init);
surf_network_model = new simgrid::surf::NetworkCm02Model();
xbt_dynar_push(all_existing_models, &surf_network_model);
if (surf_network_model)
return;
- simgrid::surf::on_link.connect(netlink_parse_init);
surf_network_model = new simgrid::surf::NetworkCm02Model();
xbt_dynar_push(all_existing_models, &surf_network_model);
xbt_dynar_push(all_existing_models, &surf_network_model);
routing_model_create(NULL);
-
- simgrid::surf::on_link.connect(netlink_parse_init);
}
namespace simgrid {
if (surf_network_model)
return;
- simgrid::surf::on_link.connect(netlink_parse_init);
surf_network_model = new simgrid::surf::NetworkIBModel();
xbt_dynar_push(all_existing_models, &surf_network_model);
networkActionStateChangedCallbacks.connect(IB_action_state_changed_callback);
}
}
-void netlink_parse_init(sg_platf_link_cbarg_t link){
- std::vector<char*> names;
-
- if (link->policy == SURF_LINK_FULLDUPLEX) {
- names.push_back(bprintf("%s_UP", link->id));
- names.push_back(bprintf("%s_DOWN", link->id));
- } else {
- names.push_back(xbt_strdup(link->id));
- }
- for (auto link_name : names) {
- Link *l = surf_network_model->createLink(link_name, link->bandwidth, link->latency, link->policy, link->properties);
-
- if (link->latency_trace)
- l->setLatencyTrace(link->latency_trace);
- if (link->bandwidth_trace)
- l->setBandwidthTrace(link->bandwidth_trace);
- if (link->state_trace)
- l->setStateTrace(link->state_trace);
-
- xbt_free(link_name);
- }
-}
-
/*********
* Model *
*********/
}
}
-
-/*********
- * Tools *
- *********/
-XBT_PUBLIC(void) netlink_parse_init(sg_platf_link_cbarg_t link);
-
/*********
* Model *
*********/
routing_model_create(NULL);
simgrid::s4u::Host::onCreation.connect(simgrid_ns3_add_host);
simgrid::surf::netcardCreatedCallbacks.connect(simgrid_ns3_add_netcard);
- simgrid::surf::on_link.connect(netlink_parse_init);
simgrid::surf::on_cluster.connect (&parse_ns3_add_cluster);
simgrid::surf::on_postparse.connect(&create_ns3_topology); //get_one_link_routes
if (surf_network_model)
return;
- simgrid::surf::on_link.connect(netlink_parse_init);
surf_network_model = new simgrid::surf::NetworkSmpiModel();
xbt_dynar_push(all_existing_models, &surf_network_model);
xbt_assert(!surf_cpu_model_pm, "CPU model type already defined");
xbt_assert(!surf_network_model, "network model type already defined");
- // Define the callbacks to parse the XML
- simgrid::surf::on_link.connect(netlink_parse_init);
-
surf_host_model = new simgrid::surf::HostL07Model();
xbt_dynar_push(all_existing_models, &surf_host_model);
}
}
void sg_platf_new_link(sg_platf_link_cbarg_t link){
+ std::vector<char*> names;
+
+ if (link->policy == SURF_LINK_FULLDUPLEX) {
+ names.push_back(bprintf("%s_UP", link->id));
+ names.push_back(bprintf("%s_DOWN", link->id));
+ } else {
+ names.push_back(xbt_strdup(link->id));
+ }
+ for (auto link_name : names) {
+ Link *l = surf_network_model->createLink(link_name, link->bandwidth, link->latency, link->policy, link->properties);
+
+ if (link->latency_trace)
+ l->setLatencyTrace(link->latency_trace);
+ if (link->bandwidth_trace)
+ l->setBandwidthTrace(link->bandwidth_trace);
+ if (link->state_trace)
+ l->setStateTrace(link->state_trace);
+
+ xbt_free(link_name);
+ }
+
simgrid::surf::on_link(link);
}