Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make prototype match overloaded function from class NetworkModel.
[simgrid.git] / src / surf / network_smpi.cpp
index ee6e415..6d52fc7 100644 (file)
@@ -16,7 +16,8 @@ xbt_dict_t gap_lookup = NULL;
 
 static int factor_cmp(const void *pa, const void *pb)
 {
-  return (((s_smpi_factor_t*)pa)->factor > ((s_smpi_factor_t*)pb)->factor);
+ return (((s_smpi_factor_t*)pa)->factor > ((s_smpi_factor_t*)pb)->factor) ? 1 :
+         (((s_smpi_factor_t*)pa)->factor < ((s_smpi_factor_t*)pb)->factor) ? -1 : 0;
 }
 
 
@@ -79,7 +80,26 @@ void surf_network_model_init_SMPI(void)
   xbt_cfg_setdefault_double(_sg_cfg_set, "network/weight_S", 8775);
 }
 
-void NetworkSmpiModel::gapAppend(double size, const NetworkCm02LinkLmmPtr link, NetworkCm02ActionLmmPtr action)
+NetworkSmpiModel::NetworkSmpiModel()
+ : NetworkCm02Model() {
+       m_haveGap=true;
+}
+
+NetworkSmpiModel::~NetworkSmpiModel(){
+  if (gap_lookup) {
+    xbt_dict_free(&gap_lookup);
+  }
+  if (smpi_bw_factor) {
+    xbt_dynar_free(&smpi_bw_factor);
+    smpi_bw_factor = NULL;
+  }
+  if (smpi_lat_factor) {
+    xbt_dynar_free(&smpi_lat_factor);
+    smpi_lat_factor = NULL;
+  }
+}
+
+void NetworkSmpiModel::gapAppend(double size, const NetworkLinkLmmPtr link, NetworkActionLmmPtr action)
 {
   const char *src = link->m_name;
   xbt_fifo_t fifo;