- improved error logging
[oweals/gnunet.git] / src / ats / gnunet-service-ats_addresses.c
index 019f0aceb00f32361ef06e2f044c2b817b6411fd..06eee9fb39040d55cae982e562eb51e576092391 100644 (file)
@@ -52,6 +52,10 @@ enum ATS_Mode
 
 static struct GNUNET_CONTAINER_MultiHashMap *addresses;
 
+#if HAVE_LIBGLPK
+static struct GAS_MLP_Handle *mlp;
+#endif
+
 static unsigned long long wan_quota_in;
 
 static unsigned long long wan_quota_out;
@@ -174,7 +178,7 @@ destroy_address (struct ATS_Address *addr)
 
 #if HAVE_LIBGLPK
   if (ats_mode == MLP)
-    GAS_mlp_address_delete (addresses, addr);
+    GAS_mlp_address_delete (mlp, addresses, addr);
 #endif
 
   if (GNUNET_YES == addr->active)
@@ -317,7 +321,7 @@ GAS_addresses_update (const struct GNUNET_PeerIdentity *peer,
     }
 #if HAVE_LIBGLPK
   if (ats_mode == MLP)
-    GAS_mlp_address_update (addresses, old);
+    GAS_mlp_address_update (mlp, addresses, old);
 #endif
 }
 
@@ -380,7 +384,7 @@ destroy_by_session_id (void *cls, const GNUNET_HashCode * key, void *value)
     /* session was set to 0, update address */
 #if HAVE_LIBGLPK
   if (ats_mode == MLP)
-    GAS_mlp_address_update (addresses, aa);
+    GAS_mlp_address_update (mlp, addresses, aa);
 #endif
   }
 
@@ -474,7 +478,7 @@ GAS_addresses_in_use (const struct GNUNET_PeerIdentity *peer,
 
 #if HAVE_LIBGLPK
   if (ats_mode == MLP)
-     GAS_mlp_address_update (addresses, old);
+     GAS_mlp_address_update (mlp, addresses, old);
 #endif
 }
 
@@ -541,8 +545,6 @@ GAS_addresses_init (const struct GNUNET_CONFIGURATION_Handle *cfg,
                                                       "WAN_QUOTA_OUT",
                                                       &wan_quota_out));
 
-
-
   switch (GNUNET_CONFIGURATION_get_value_yesno (cfg, "ats", "MLP"))
   {
        /* MLP = YES */
@@ -550,9 +552,10 @@ GAS_addresses_init (const struct GNUNET_CONFIGURATION_Handle *cfg,
 #if HAVE_LIBGLPK
           ats_mode = MLP;
           /* Init the MLP solver with default values */
-          GAS_mlp_init (stats, MLP_MAX_EXEC_DURATION, MLP_MAX_ITERATIONS);
+          mlp = GAS_mlp_init (cfg, stats, MLP_MAX_EXEC_DURATION, MLP_MAX_ITERATIONS);
           break;
 #else
+
           GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "MLP mode was configured, but libglpk is not installed, switching to simple mode");
           ats_mode = SIMPLE;
           break;
@@ -612,7 +615,7 @@ GAS_addresses_done ()
 #if HAVE_LIBGLPK
   if (ats_mode == MLP)
   {
-    GAS_mlp_done ();
+    GAS_mlp_done (mlp);
   }
 #endif