From: Gabriel Corona Date: Tue, 24 Nov 2015 12:18:37 +0000 (+0100) Subject: [surf] Move networkLinkCreatedCallbacks outside of constructor X-Git-Tag: v3_13~1558 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/66a454f0624d1c866c099e8ff4affb3b5d0aca79 [surf] Move networkLinkCreatedCallbacks outside of constructor --- diff --git a/src/surf/host_ptask_L07.cpp b/src/surf/host_ptask_L07.cpp index 4209f00c24..0361890c8b 100644 --- a/src/surf/host_ptask_L07.cpp +++ b/src/surf/host_ptask_L07.cpp @@ -344,11 +344,13 @@ Link* NetworkL07Model::createLink(const char *name, xbt_assert(!Link::byName(name), "Link '%s' declared several times in the platform file.", name); - return new LinkL07(this, name, properties, + Link* link = new LinkL07(this, name, properties, bw_initial, bw_trace, lat_initial, lat_trace, state_initial, state_trace, policy); + surf_callback_emit(networkLinkCreatedCallbacks, link); + return link; } void HostL07Model::addTraces() diff --git a/src/surf/network_cm02.cpp b/src/surf/network_cm02.cpp index c5c242be8c..1d5b5941a4 100644 --- a/src/surf/network_cm02.cpp +++ b/src/surf/network_cm02.cpp @@ -215,8 +215,10 @@ Link* NetworkCm02Model::createLink(const char *name, "Link '%s' declared several times in the platform", name); - return new NetworkCm02Link(this, name, properties, p_maxminSystem, sg_bandwidth_factor * bw_initial, history, + Link* link = new NetworkCm02Link(this, name, properties, p_maxminSystem, sg_bandwidth_factor * bw_initial, history, state_initial, state_trace, bw_initial, bw_trace, lat_initial, lat_trace, policy); + surf_callback_emit(networkLinkCreatedCallbacks, link); + return link; } void NetworkCm02Model::updateActionsStateLazy(double now, double /*delta*/) diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index c9de3c520d..380332f276 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -181,7 +181,6 @@ Link::Link(NetworkModel *model, const char *name, xbt_dict_t props) : Resource(model, name, props) , p_latEvent(NULL) { - surf_callback_emit(networkLinkCreatedCallbacks, this); links->insert({name, this}); XBT_DEBUG("Create link '%s'",name); @@ -194,7 +193,6 @@ Link::Link(NetworkModel *model, const char *name, xbt_dict_t props, : Resource(model, name, props, constraint), p_latEvent(NULL) { - surf_callback_emit(networkLinkCreatedCallbacks, this); if (state_trace) p_stateEvent = tmgr_history_add_trace(history, state_trace, 0.0, 0, this); diff --git a/src/surf/network_ns3.cpp b/src/surf/network_ns3.cpp index 8eab114d6c..b3cc211814 100644 --- a/src/surf/network_ns3.cpp +++ b/src/surf/network_ns3.cpp @@ -305,7 +305,9 @@ Link* NetworkNS3Model::createLink(const char *name, XBT_INFO("The NS3 network model doesn't support latency state traces"); if (state_trace) XBT_INFO("The NS3 network model doesn't support link state traces"); - return new NetworkNS3Link(this, name, properties, bw_initial, lat_initial); + Link* link = new NetworkNS3Link(this, name, properties, bw_initial, lat_initial); + surf_callback_emit(networkLinkCreatedCallbacks, link); + return link; } xbt_dynar_t NetworkNS3Model::getRoute(RoutingEdge *src, RoutingEdge *dst)