aboutsummaryrefslogtreecommitdiff
path: root/src/ats
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2014-05-14 08:34:07 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2014-05-14 08:34:07 +0000
commit41cff0bca30e6c1e891bcdabc50a4ab4c20e805b (patch)
treed8d136cc5d1f85c9b31c51d2bcda0fd52ff1e1d4 /src/ats
parent4cb749c370a4fd93a00734c5692a6e3664a5d67f (diff)
downloadgnunet-41cff0bca30e6c1e891bcdabc50a4ab4c20e805b.tar.gz
gnunet-41cff0bca30e6c1e891bcdabc50a4ab4c20e805b.zip
use cfg function in solvers
Diffstat (limited to 'src/ats')
-rw-r--r--src/ats/ats.conf.in10
-rw-r--r--src/ats/plugin_ats_mlp.c10
-rw-r--r--src/ats/plugin_ats_proportional.c47
-rw-r--r--src/ats/plugin_ats_ril.c179
4 files changed, 129 insertions, 117 deletions
diff --git a/src/ats/ats.conf.in b/src/ats/ats.conf.in
index f321b7af1..b80fbaa1e 100644
--- a/src/ats/ats.conf.in
+++ b/src/ats/ats.conf.in
@@ -34,12 +34,12 @@ BLUETOOTH_QUOTA_OUT = 128 KiB
34 34
35# Proportional specific settings 35# Proportional specific settings
36# How proportional to preferences is bandwidth distribution in a network 36# How proportional to preferences is bandwidth distribution in a network
37# 1: Fair with respect to addresses without preferences 37# 1.0: Fair with respect to addresses without preferences
38# > 100: The bigger, the more respect is payed to preferences 38# > 1.0: The bigger, the more respect is payed to preferences
39PROP_PROPORTIONALITY_FACTOR = 200 39PROP_PROPORTIONALITY_FACTOR = 2.00
40# Should we stick to existing connections are prefer to switch? 40# Should we stick to existing connections are prefer to switch?
41# [100...200], lower value prefers to switch, bigger value is more tolerant 41# [1.0...2.0], lower value prefers to switch, bigger value is more tolerant
42PROP_STABILITY_FACTOR = 125 42PROP_STABILITY_FACTOR = 1.25
43 43
44# MLP specific settings 44# MLP specific settings
45# MLP defaults 45# MLP defaults
diff --git a/src/ats/plugin_ats_mlp.c b/src/ats/plugin_ats_mlp.c
index ef6c978ca..c1d665de4 100644
--- a/src/ats/plugin_ats_mlp.c
+++ b/src/ats/plugin_ats_mlp.c
@@ -2343,7 +2343,7 @@ libgnunet_plugin_ats_mlp_init (void *cls)
2343 { 2343 {
2344 mlp->pv.mip_gap = f_tmp; 2344 mlp->pv.mip_gap = f_tmp;
2345 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n", 2345 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
2346 "MIP gap", mlp->pv.mip_gap); 2346 "MIP gap", f_tmp);
2347 } 2347 }
2348 } 2348 }
2349 2349
@@ -2360,7 +2360,7 @@ libgnunet_plugin_ats_mlp_init (void *cls)
2360 { 2360 {
2361 mlp->pv.lp_mip_gap = f_tmp; 2361 mlp->pv.lp_mip_gap = f_tmp;
2362 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s gap of %.3f\n", 2362 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s gap of %.3f\n",
2363 "LP/MIP", mlp->pv.lp_mip_gap); 2363 "LP/MIP", f_tmp);
2364 } 2364 }
2365 } 2365 }
2366 2366
@@ -2392,7 +2392,7 @@ libgnunet_plugin_ats_mlp_init (void *cls)
2392 { 2392 {
2393 mlp->pv.co_D = f_tmp; 2393 mlp->pv.co_D = f_tmp;
2394 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s gap of %.3f\n", 2394 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s gap of %.3f\n",
2395 "MLP_COEFFICIENT_D", mlp->pv.lp_mip_gap); 2395 "MLP_COEFFICIENT_D", f_tmp);
2396 } 2396 }
2397 } 2397 }
2398 2398
@@ -2410,7 +2410,7 @@ libgnunet_plugin_ats_mlp_init (void *cls)
2410 { 2410 {
2411 mlp->pv.co_R = f_tmp; 2411 mlp->pv.co_R = f_tmp;
2412 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s gap of %.3f\n", 2412 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s gap of %.3f\n",
2413 "MLP_COEFFICIENT_R", mlp->pv.lp_mip_gap); 2413 "MLP_COEFFICIENT_R", f_tmp);
2414 } 2414 }
2415 } 2415 }
2416 2416
@@ -2429,7 +2429,7 @@ libgnunet_plugin_ats_mlp_init (void *cls)
2429 { 2429 {
2430 mlp->pv.co_U = f_tmp; 2430 mlp->pv.co_U = f_tmp;
2431 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s gap of %.3f\n", 2431 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s gap of %.3f\n",
2432 "MLP_COEFFICIENT_U", mlp->pv.lp_mip_gap); 2432 "MLP_COEFFICIENT_U", f_tmp);
2433 } 2433 }
2434 } 2434 }
2435 2435
diff --git a/src/ats/plugin_ats_proportional.c b/src/ats/plugin_ats_proportional.c
index 6def592e2..8206d19c4 100644
--- a/src/ats/plugin_ats_proportional.c
+++ b/src/ats/plugin_ats_proportional.c
@@ -408,8 +408,7 @@ libgnunet_plugin_ats_proportional_init (void *cls)
408 struct GAS_PROPORTIONAL_Handle *s; 408 struct GAS_PROPORTIONAL_Handle *s;
409 struct Network * cur; 409 struct Network * cur;
410 char * net_str[GNUNET_ATS_NetworkTypeCount] = GNUNET_ATS_NetworkTypeString; 410 char * net_str[GNUNET_ATS_NetworkTypeCount] = GNUNET_ATS_NetworkTypeString;
411 unsigned long long prop_factor; 411 float f_tmp;
412 unsigned long long stability_factor;
413 int c; 412 int c;
414 413
415 GNUNET_assert (NULL != env); 414 GNUNET_assert (NULL != env);
@@ -450,43 +449,39 @@ libgnunet_plugin_ats_proportional_init (void *cls)
450 s->addresses = env->addresses; 449 s->addresses = env->addresses;
451 s->requests = GNUNET_CONTAINER_multipeermap_create (10, GNUNET_NO); 450 s->requests = GNUNET_CONTAINER_multipeermap_create (10, GNUNET_NO);
452 451
453 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_number(s->env->cfg, "ats", 452 s->stability_factor = PROP_STABILITY_FACTOR;
454 "PROP_STABILITY_FACTOR", &stability_factor)) 453 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
454 "PROP_STABILITY_FACTOR", &f_tmp))
455 { 455 {
456 if ((stability_factor >= 100) && (stability_factor <= 200)) 456 if ((f_tmp < 1.0) || (f_tmp > 2.0))
457 { 457 {
458 s->stability_factor = ((double) stability_factor) / 100; 458 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
459 "PROP_STABILITY_FACTOR", f_tmp);
459 } 460 }
460 else 461 else
461 { 462 {
462 GNUNET_break (0); 463 s->stability_factor = f_tmp;
463 s->stability_factor = PROP_STABILITY_FACTOR; 464 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
465 "PROP_STABILITY_FACTOR", f_tmp);
464 } 466 }
465 } 467 }
466 else
467 {
468 GNUNET_break (0);
469 s->stability_factor = PROP_STABILITY_FACTOR;
470 }
471 LOG (GNUNET_ERROR_TYPE_INFO, "Using stability factor %.3f\n",
472 s->stability_factor);
473 468
474 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_number(s->env->cfg, "ats", 469 s->prop_factor = PROPORTIONALITY_FACTOR;
475 "PROP_PROPORTIONALITY_FACTOR", &prop_factor)) 470 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
471 "PROP_STABILITY_FACTOR", &f_tmp))
476 { 472 {
477 if (prop_factor >= 100) 473 if (f_tmp < 1.0)
478 s->prop_factor = ((double) prop_factor) / 100; 474 {
475 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
476 "PROP_PROPORTIONALITY_FACTOR", f_tmp);
477 }
479 else 478 else
480 { 479 {
481 GNUNET_break (0); 480 s->prop_factor = f_tmp;
482 s->prop_factor = PROPORTIONALITY_FACTOR; 481 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
482 "PROP_PROPORTIONALITY_FACTOR", f_tmp);
483 } 483 }
484 } 484 }
485 else
486 s->prop_factor = PROPORTIONALITY_FACTOR;
487 LOG (GNUNET_ERROR_TYPE_INFO, "Using proportionality factor %.3f\n",
488 s->prop_factor);
489
490 485
491 for (c = 0; c < env->network_count; c++) 486 for (c = 0; c < env->network_count; c++)
492 { 487 {
diff --git a/src/ats/plugin_ats_ril.c b/src/ats/plugin_ats_ril.c
index 6425ce777..30c679cf3 100644
--- a/src/ats/plugin_ats_ril.c
+++ b/src/ats/plugin_ats_ril.c
@@ -2160,6 +2160,7 @@ libgnunet_plugin_ats_ril_init (void *cls)
2160 struct RIL_Scope * cur; 2160 struct RIL_Scope * cur;
2161 int c; 2161 int c;
2162 char *string; 2162 char *string;
2163 float f_tmp;
2163 2164
2164 LOG(GNUNET_ERROR_TYPE_DEBUG, "API_init() Initializing RIL solver\n"); 2165 LOG(GNUNET_ERROR_TYPE_DEBUG, "API_init() Initializing RIL solver\n");
2165 2166
@@ -2209,125 +2210,141 @@ libgnunet_plugin_ats_ril_init (void *cls)
2209 solver->parameters.select = RIL_DEFAULT_SELECT; 2210 solver->parameters.select = RIL_DEFAULT_SELECT;
2210 } 2211 }
2211 2212
2212 if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_DISCOUNT_BETA", &string)) 2213
2214 solver->parameters.beta = RIL_DEFAULT_DISCOUNT_BETA;
2215 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
2216 "RIL_DISCOUNT_BETA", &f_tmp))
2213 { 2217 {
2214 solver->parameters.beta = strtod (string, NULL); 2218 if (f_tmp < 0.0)
2215 GNUNET_free (string);
2216 if (!(solver->parameters.beta > 0))
2217 { 2219 {
2218 LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_DISCOUNT_BETA not configured as positive number. Set to default value of %f instead.\n", RIL_DEFAULT_DISCOUNT_BETA); 2220 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
2219 solver->parameters.beta = RIL_DEFAULT_DISCOUNT_BETA; 2221 "RIL_DISCOUNT_BETA", f_tmp);
2222 }
2223 else
2224 {
2225 solver->parameters.beta = f_tmp;
2226 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
2227 "RIL_DISCOUNT_BETA", f_tmp);
2220 } 2228 }
2221 }
2222 else
2223 {
2224 solver->parameters.beta = RIL_DEFAULT_DISCOUNT_BETA;
2225 } 2229 }
2226 2230
2227 if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_DISCOUNT_GAMMA", &string)) 2231 solver->parameters.gamma = RIL_DEFAULT_DISCOUNT_GAMMA;
2232 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
2233 "RIL_DISCOUNT_GAMMA", &f_tmp))
2228 { 2234 {
2229 solver->parameters.gamma = strtod (string, NULL); 2235 if ((f_tmp < 0.0) || (f_tmp > 1.0))
2230 GNUNET_free (string);
2231 if (!(solver->parameters.gamma < 1) || (solver->parameters.gamma < 0))
2232 { 2236 {
2233 LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_DISCOUNT_GAMMA not configured in range [0,1[. Set to default value of %f instead.\n", RIL_DEFAULT_DISCOUNT_GAMMA); 2237 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
2234 solver->parameters.gamma = RIL_DEFAULT_DISCOUNT_GAMMA; 2238 "RIL_DISCOUNT_GAMMA", f_tmp);
2239 }
2240 else
2241 {
2242 solver->parameters.gamma = f_tmp;
2243 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
2244 "RIL_DISCOUNT_GAMMA", f_tmp);
2235 } 2245 }
2236 }
2237 else
2238 {
2239 solver->parameters.gamma = RIL_DEFAULT_DISCOUNT_GAMMA;
2240 } 2246 }
2241 2247
2242 if (GNUNET_OK 2248 solver->parameters.alpha = RIL_DEFAULT_GRADIENT_STEP_SIZE;
2243 == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_GRADIENT_STEP_SIZE", &string)) 2249 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
2250 "RIL_GRADIENT_STEP_SIZE", &f_tmp))
2244 { 2251 {
2245 solver->parameters.alpha = strtod (string, NULL); 2252 if ((f_tmp < 0.0) || (f_tmp > 0.0))
2246 GNUNET_free (string);
2247 if (!(solver->parameters.alpha > 0) || solver->parameters.alpha > 1)
2248 { 2253 {
2249 LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_GRADIENT_STEP_SIZE not configured in range ]0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_GRADIENT_STEP_SIZE); 2254 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
2250 solver->parameters.alpha = RIL_DEFAULT_GRADIENT_STEP_SIZE; 2255 "RIL_GRADIENT_STEP_SIZE", f_tmp);
2256 }
2257 else
2258 {
2259 solver->parameters.alpha = f_tmp;
2260 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
2261 "RIL_GRADIENT_STEP_SIZE", f_tmp);
2251 } 2262 }
2252 }
2253 else
2254 {
2255 solver->parameters.alpha = RIL_DEFAULT_GRADIENT_STEP_SIZE;
2256 } 2263 }
2257 2264
2258 if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_TRACE_DECAY", &string)) 2265 solver->parameters.lambda = RIL_DEFAULT_TRACE_DECAY;
2266 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
2267 "RIL_TRACE_DECAY", &f_tmp))
2259 { 2268 {
2260 solver->parameters.lambda = strtod (string, NULL); 2269 if ((f_tmp < 0.0) || (f_tmp > 0.0))
2261 GNUNET_free (string);
2262 if (solver->parameters.lambda < 0 || solver->parameters.lambda > 1)
2263 { 2270 {
2264 LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_TRACE_DECAY not configured in range [0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_TRACE_DECAY); 2271 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
2265 solver->parameters.lambda = RIL_DEFAULT_TRACE_DECAY; 2272 "RIL_TRACE_DECAY", f_tmp);
2273 }
2274 else
2275 {
2276 solver->parameters.lambda = f_tmp;
2277 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
2278 "RIL_TRACE_DECAY", f_tmp);
2266 } 2279 }
2267 }
2268 else
2269 {
2270 solver->parameters.lambda = RIL_DEFAULT_TRACE_DECAY;
2271 } 2280 }
2272 2281
2273 if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_EXPLORE_RATIO", &string)) 2282 solver->parameters.epsilon_init = RIL_DEFAULT_EXPLORE_RATIO;
2283 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
2284 "RIL_EXPLORE_RATIO", &f_tmp))
2274 { 2285 {
2275 solver->parameters.epsilon_init = strtod (string, NULL); 2286 if ((f_tmp < 0.0) || (f_tmp > 0.0))
2276 GNUNET_free (string);
2277 if (solver->parameters.epsilon_init < 0 || solver->parameters.epsilon_init > 1)
2278 { 2287 {
2279 LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_EXPLORE_RATIO not configured in range [0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_EXPLORE_RATIO); 2288 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
2280 solver->parameters.epsilon_init = RIL_DEFAULT_EXPLORE_RATIO; 2289 "RIL_EXPLORE_RATIO", f_tmp);
2290 }
2291 else
2292 {
2293 solver->parameters.epsilon_init = f_tmp;
2294 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
2295 "RIL_EXPLORE_RATIO", f_tmp);
2281 } 2296 }
2282 }
2283 else
2284 {
2285 solver->parameters.epsilon_init = RIL_DEFAULT_EXPLORE_RATIO;
2286 } 2297 }
2287 2298
2288 if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_EXPLORE_DECAY", &string)) 2299 solver->parameters.epsilon_decay = RIL_DEFAULT_EXPLORE_DECAY;
2300 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
2301 "RIL_EXPLORE_DECAY", &f_tmp))
2289 { 2302 {
2290 solver->parameters.epsilon_decay = strtod (string, NULL); 2303 if ((f_tmp < 0.0) || (f_tmp > 0.0))
2291 GNUNET_free (string);
2292 if (solver->parameters.epsilon_decay < 0 || solver->parameters.epsilon_decay > 1)
2293 { 2304 {
2294 LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_EXPLORE_RATIO not configured in range [0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_EXPLORE_DECAY); 2305 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
2295 solver->parameters.epsilon_decay = RIL_DEFAULT_EXPLORE_DECAY; 2306 "RIL_EXPLORE_DECAY", f_tmp);
2307 }
2308 else
2309 {
2310 solver->parameters.epsilon_decay = f_tmp;
2311 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
2312 "RIL_EXPLORE_DECAY", f_tmp);
2296 } 2313 }
2297 }
2298 else
2299 {
2300 solver->parameters.epsilon_decay = RIL_DEFAULT_EXPLORE_DECAY;
2301 } 2314 }
2302 2315
2303 if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_TEMPERATURE", &string)) 2316 solver->parameters.temperature_init = RIL_DEFAULT_TEMPERATURE;
2317 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
2318 "RIL_TEMPERATURE", &f_tmp))
2304 { 2319 {
2305 solver->parameters.temperature_init = strtod (string, NULL); 2320 if (f_tmp <= 0.0)
2306 GNUNET_free (string);
2307 if (solver->parameters.temperature_init <= 0)
2308 { 2321 {
2309 LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_TEMPERATURE not positive. Set to default value of %f instead.\n", RIL_DEFAULT_TEMPERATURE); 2322 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
2310 solver->parameters.temperature_init = RIL_DEFAULT_TEMPERATURE; 2323 "RIL_TEMPERATURE", f_tmp);
2324 }
2325 else
2326 {
2327 solver->parameters.temperature_init = f_tmp;
2328 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
2329 "RIL_TEMPERATURE", f_tmp);
2311 } 2330 }
2312 }
2313 else
2314 {
2315 solver->parameters.temperature_init = RIL_DEFAULT_TEMPERATURE;
2316 } 2331 }
2317 2332
2318 if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (env->cfg, "ats", "RIL_TEMPERATURE_DECAY", &string)) 2333 solver->parameters.temperature_decay = RIL_DEFAULT_TEMPERATURE_DECAY;
2334 if (GNUNET_SYSERR != GNUNET_CONFIGURATION_get_value_float (env->cfg, "ats",
2335 "RIL_TEMPERATURE_DECAY", &f_tmp))
2319 { 2336 {
2320 solver->parameters.temperature_decay = strtod (string, NULL); 2337 if ((f_tmp <= 0.0) || solver->parameters.temperature_decay > 1)
2321 GNUNET_free (string);
2322 if (solver->parameters.temperature_decay <= 0 || solver->parameters.temperature_decay > 1)
2323 { 2338 {
2324 LOG (GNUNET_ERROR_TYPE_WARNING, "RIL_TEMPERATURE_DECAY not in range [0,1]. Set to default value of %f instead.\n", RIL_DEFAULT_TEMPERATURE_DECAY); 2339 LOG (GNUNET_ERROR_TYPE_ERROR, _("Invalid %s configuration %f \n"),
2325 solver->parameters.temperature_decay = RIL_DEFAULT_TEMPERATURE_DECAY; 2340 "RIL_TEMPERATURE_DECAY", f_tmp);
2341 }
2342 else
2343 {
2344 solver->parameters.temperature_decay = f_tmp;
2345 LOG (GNUNET_ERROR_TYPE_INFO, "Using %s of %.3f\n",
2346 "RIL_TEMPERATURE_DECAY", f_tmp);
2326 } 2347 }
2327 }
2328 else
2329 {
2330 solver->parameters.temperature_decay = RIL_DEFAULT_TEMPERATURE_DECAY;
2331 } 2348 }
2332 2349
2333 if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (env->cfg, "ats", "RIL_SIMULATE", &solver->simulate)) 2350 if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_number (env->cfg, "ats", "RIL_SIMULATE", &solver->simulate))