aboutsummaryrefslogtreecommitdiff
path: root/src/ats/gnunet-service-ats_addresses.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-11-07 10:39:56 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-11-07 10:39:56 +0000
commit50fc263f0dec5918c7aa16972760991f2271a15c (patch)
tree9e54c48fd2c7553a924b1a58aeafc4ec398025cf /src/ats/gnunet-service-ats_addresses.c
parent34e30e33ee714d553033c7b07ce532d9270fa877 (diff)
downloadgnunet-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.c112
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 */
1279void
1280GAS_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
1296static void
1297solver_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;