X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/42409cb20c956bea7e678f4db5f17d27ee2bc422..c80eff88110151cbf0bf09fafeeab4b287e185ab:/src/surf/network_ib.cpp diff --git a/src/surf/network_ib.cpp b/src/surf/network_ib.cpp index 8c64c0c860..43efa0422a 100644 --- a/src/surf/network_ib.cpp +++ b/src/surf/network_ib.cpp @@ -55,12 +55,12 @@ static void IB_action_init_callback( if(((NetworkIBModel*)surf_network_model)->active_nodes==NULL) xbt_die("IB comm added, without any node connected !"); - IBNode* act_src= (IBNode*) xbt_dict_get_or_null(((NetworkIBModel*)surf_network_model)->active_nodes, src->getName()); + IBNode* act_src= (IBNode*) xbt_dict_get_or_null(((NetworkIBModel*)surf_network_model)->active_nodes, src->name()); if(act_src==NULL) xbt_die("could not find src node active comms !"); //act_src->rate=rate; - IBNode* act_dst= (IBNode*) xbt_dict_get_or_null(((NetworkIBModel*)surf_network_model)->active_nodes, dst->getName()); + IBNode* act_dst= (IBNode*) xbt_dict_get_or_null(((NetworkIBModel*)surf_network_model)->active_nodes, dst->name()); if(act_dst==NULL) xbt_die("could not find dst node active comms !"); // act_dst->rate=rate; @@ -94,8 +94,9 @@ void surf_network_model_init_IB(void) if (surf_network_model) return; + + simgrid::surf::on_link.connect(netlink_parse_init); surf_network_model = new simgrid::surf::NetworkIBModel(); - net_define_callbacks(); xbt_dynar_push(all_existing_models, &surf_network_model); networkActionStateChangedCallbacks.connect(IB_action_state_changed_callback); networkCommunicateCallbacks.connect(IB_action_init_callback); @@ -104,6 +105,8 @@ void surf_network_model_init_IB(void) } +#include "src/surf/xml/platf.hpp" // FIXME: move that back to the parsing area + namespace simgrid { namespace surf { @@ -115,8 +118,8 @@ NetworkIBModel::NetworkIBModel() const char* IB_factors_string=sg_cfg_get_string("smpi/IB_penalty_factors"); xbt_dynar_t radical_elements = xbt_str_split(IB_factors_string, ";"); - if(xbt_dynar_length(radical_elements)!=3) - surf_parse_error("smpi/IB_penalty_factors should be provided and contain 3 elements, semi-colon separated : for example 0.965;0.925;1.35"); + surf_parse_assert(xbt_dynar_length(radical_elements)==3, + "smpi/IB_penalty_factors should be provided and contain 3 elements, semi-colon separated : for example 0.965;0.925;1.35"); Be = xbt_str_parse_double(xbt_dynar_get_as(radical_elements, 0, char *), "First part of smpi/IB_penalty_factors is not numerical: %s"); Bs = xbt_str_parse_double(xbt_dynar_get_as(radical_elements, 1, char *), "Second part of smpi/IB_penalty_factors is not numerical: %s");