diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-11-07 10:39:56 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-11-07 10:39:56 +0000 |
commit | 50fc263f0dec5918c7aa16972760991f2271a15c (patch) | |
tree | 9e54c48fd2c7553a924b1a58aeafc4ec398025cf /src/ats/gnunet-service-ats_addresses.c | |
parent | 34e30e33ee714d553033c7b07ce532d9270fa877 (diff) | |
download | gnunet-50fc263f0dec5918c7aa16972760991f2271a15c.tar.gz gnunet-50fc263f0dec5918c7aa16972760991f2271a15c.zip |
fix and eval function
Diffstat (limited to 'src/ats/gnunet-service-ats_addresses.c')
-rw-r--r-- | src/ats/gnunet-service-ats_addresses.c | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/src/ats/gnunet-service-ats_addresses.c b/src/ats/gnunet-service-ats_addresses.c index 6e0352bf1..554c351e4 100644 --- a/src/ats/gnunet-service-ats_addresses.c +++ b/src/ats/gnunet-service-ats_addresses.c | |||
@@ -1273,6 +1273,116 @@ GAS_addresses_handle_backoff_reset (struct GAS_Addresses_Handle *handle, | |||
1273 | &reset_address_it, NULL)); | 1273 | &reset_address_it, NULL)); |
1274 | } | 1274 | } |
1275 | 1275 | ||
1276 | /** | ||
1277 | * Evaluathe current bandwidth assignment | ||
1278 | */ | ||
1279 | void | ||
1280 | GAS_addresses_evaluate_assignment (struct GAS_Addresses_Handle *ah) | ||
1281 | { | ||
1282 | GNUNET_assert (NULL != ah); | ||
1283 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Current assignment has quality: Not implemented!\n"); | ||
1284 | |||
1285 | } | ||
1286 | |||
1287 | /** | ||
1288 | * Solver information callback | ||
1289 | * | ||
1290 | * @param cls, | ||
1291 | * @param op the operation | ||
1292 | * @param stat operation status | ||
1293 | * @param add additional information | ||
1294 | */ | ||
1295 | |||
1296 | static void | ||
1297 | solver_info_cb (void *cls, | ||
1298 | enum GAS_Solver_Operation op, | ||
1299 | enum GAS_Solver_Status stat, | ||
1300 | enum GAS_Solver_Additional_Information add) | ||
1301 | { | ||
1302 | char *add_info; | ||
1303 | |||
1304 | switch (add) { | ||
1305 | case GAS_INFO_NONE: | ||
1306 | add_info = "GAS_INFO_NONE"; | ||
1307 | break; | ||
1308 | case GAS_INFO_FULL: | ||
1309 | add_info = "GAS_INFO_MLP_FULL"; | ||
1310 | break; | ||
1311 | case GAS_INFO_UPDATED: | ||
1312 | add_info = "GAS_INFO_MLP_UPDATED"; | ||
1313 | break; | ||
1314 | case GAS_INFO_PROP_ALL: | ||
1315 | add_info = "GAS_INFO_PROP_ALL"; | ||
1316 | break; | ||
1317 | case GAS_INFO_PROP_SINGLE: | ||
1318 | add_info = "GAS_INFO_PROP_SINGLE"; | ||
1319 | break; | ||
1320 | default: | ||
1321 | add_info = "INVALID"; | ||
1322 | break; | ||
1323 | } | ||
1324 | switch (op) | ||
1325 | { | ||
1326 | case GAS_OP_SOLVE_START: | ||
1327 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1328 | "Solver notifies `%s' with result `%s' `%s'\n", "GAS_OP_SOLVE_START", | ||
1329 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL", add_info); | ||
1330 | return; | ||
1331 | case GAS_OP_SOLVE_STOP: | ||
1332 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1333 | "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_STOP", | ||
1334 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL", add_info); | ||
1335 | return; | ||
1336 | |||
1337 | case GAS_OP_SOLVE_SETUP_START: | ||
1338 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1339 | "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_SETUP_START", | ||
1340 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL"); | ||
1341 | return; | ||
1342 | |||
1343 | case GAS_OP_SOLVE_SETUP_STOP: | ||
1344 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1345 | "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_SETUP_STOP", | ||
1346 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL"); | ||
1347 | return; | ||
1348 | |||
1349 | case GAS_OP_SOLVE_MLP_LP_START: | ||
1350 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1351 | "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_LP_START", | ||
1352 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL"); | ||
1353 | return; | ||
1354 | case GAS_OP_SOLVE_MLP_LP_STOP: | ||
1355 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1356 | "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_LP_STOP", | ||
1357 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL"); | ||
1358 | return; | ||
1359 | |||
1360 | case GAS_OP_SOLVE_MLP_MLP_START: | ||
1361 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1362 | "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_MLP_START", | ||
1363 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL"); | ||
1364 | return; | ||
1365 | case GAS_OP_SOLVE_MLP_MLP_STOP: | ||
1366 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1367 | "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_MLP_STOP", | ||
1368 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL"); | ||
1369 | return; | ||
1370 | case GAS_OP_SOLVE_UPDATE_NOTIFICATION_START: | ||
1371 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1372 | "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_UPDATE_NOTIFICATION_START", | ||
1373 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL"); | ||
1374 | return; | ||
1375 | case GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP: | ||
1376 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1377 | "Solver notifies `%s' with result `%s'\n", "GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP", | ||
1378 | (GAS_STAT_SUCCESS == stat) ? "SUCCESS" : "FAIL"); | ||
1379 | GAS_addresses_evaluate_assignment (cls); | ||
1380 | return; | ||
1381 | default: | ||
1382 | break; | ||
1383 | } | ||
1384 | } | ||
1385 | |||
1276 | 1386 | ||
1277 | /** | 1387 | /** |
1278 | * The preference changed for a peer | 1388 | * The preference changed for a peer |
@@ -1677,6 +1787,8 @@ GAS_addresses_init (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
1677 | } | 1787 | } |
1678 | 1788 | ||
1679 | load_quotas (cfg, quotas_in, quotas_out, GNUNET_ATS_NetworkTypeCount); | 1789 | load_quotas (cfg, quotas_in, quotas_out, GNUNET_ATS_NetworkTypeCount); |
1790 | ah->env.info_cb = &solver_info_cb; | ||
1791 | ah->env.info_cb_cls = &ah; | ||
1680 | ah->env.bandwidth_changed_cb = &bandwidth_changed_cb; | 1792 | ah->env.bandwidth_changed_cb = &bandwidth_changed_cb; |
1681 | ah->env.bw_changed_cb_cls = ah; | 1793 | ah->env.bw_changed_cb_cls = ah; |
1682 | ah->env.get_preferences = &get_preferences_cb; | 1794 | ah->env.get_preferences = &get_preferences_cb; |