aboutsummaryrefslogtreecommitdiff
path: root/src/ats/gnunet-service-ats_addresses.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-11-18 14:51:35 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-11-18 14:51:35 +0000
commitdd4b523b483aea04b7eccec95cfd00218aa51233 (patch)
tree23151cbbe5914ff19ccb08f66ac6d2410d81df50 /src/ats/gnunet-service-ats_addresses.c
parenta23131f1f81524c774869d978766f5ff46e230c2 (diff)
downloadgnunet-dd4b523b483aea04b7eccec95cfd00218aa51233.tar.gz
gnunet-dd4b523b483aea04b7eccec95cfd00218aa51233.zip
improved evalution
Diffstat (limited to 'src/ats/gnunet-service-ats_addresses.c')
-rw-r--r--src/ats/gnunet-service-ats_addresses.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/ats/gnunet-service-ats_addresses.c b/src/ats/gnunet-service-ats_addresses.c
index e1042b64b..33fac8a06 100644
--- a/src/ats/gnunet-service-ats_addresses.c
+++ b/src/ats/gnunet-service-ats_addresses.c
@@ -1333,6 +1333,10 @@ GAS_addresses_evaluate_assignment (struct GAS_Addresses_Handle *ah)
1333 float quality_application_requirements = 0.0; 1333 float quality_application_requirements = 0.0;
1334 float guq = 0.0; 1334 float guq = 0.0;
1335 1335
1336 int include_requests;
1337 int include_utilization;
1338 int include_requirements;
1339
1336 /* Variable related to requests */ 1340 /* Variable related to requests */
1337 unsigned int requests_pending; 1341 unsigned int requests_pending;
1338 unsigned int requests_fulfilled; 1342 unsigned int requests_fulfilled;
@@ -1362,9 +1366,15 @@ GAS_addresses_evaluate_assignment (struct GAS_Addresses_Handle *ah)
1362 1366
1363 } 1367 }
1364 if (requests_pending > 0) 1368 if (requests_pending > 0)
1369 {
1365 quality_requests_fulfilled = (float) requests_fulfilled / requests_pending; 1370 quality_requests_fulfilled = (float) requests_fulfilled / requests_pending;
1371 include_requests = GNUNET_YES;
1372 }
1366 else 1373 else
1374 {
1367 quality_requests_fulfilled = 0.0; 1375 quality_requests_fulfilled = 0.0;
1376 include_requests = GNUNET_NO;
1377 }
1368 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "%u pending requests, %u requests fullfilled\n", 1378 GNUNET_log (GNUNET_ERROR_TYPE_INFO, "%u pending requests, %u requests fullfilled\n",
1369 requests_pending, requests_fulfilled); 1379 requests_pending, requests_fulfilled);
1370 1380
@@ -1394,14 +1404,27 @@ GAS_addresses_evaluate_assignment (struct GAS_Addresses_Handle *ah)
1394 } 1404 }
1395 } 1405 }
1396 if (0 < network_count) 1406 if (0 < network_count)
1407 {
1397 quality_bandwidth_utilization_total /= network_count; 1408 quality_bandwidth_utilization_total /= network_count;
1409 include_utilization = GNUNET_YES;
1410 }
1398 else 1411 else
1412 {
1399 quality_bandwidth_utilization_total = 0.0; 1413 quality_bandwidth_utilization_total = 0.0;
1414 include_utilization = GNUNET_NO;
1415 }
1400 1416
1401 /* 3) How well does selection match application requirements */ 1417 /* 3) How well does selection match application requirements */
1418 /* TODO */
1419 include_requirements = GNUNET_NO;
1402 1420
1403 /* GUQ */ 1421 /* GUQ */
1404 guq = (quality_requests_fulfilled + quality_bandwidth_utilization_total + quality_application_requirements) /3; 1422
1423 if (include_requests + include_utilization + include_requirements > 0)
1424 guq = (quality_requests_fulfilled + quality_bandwidth_utilization_total + quality_application_requirements) /
1425 (include_requests + include_utilization + include_requirements);
1426 else
1427 guq = 0.0;
1405 1428
1406 GNUNET_log (GNUNET_ERROR_TYPE_INFO, 1429 GNUNET_log (GNUNET_ERROR_TYPE_INFO,
1407 "Requests fulfilled %.3f bandwidth utilized %.3f application preferences met %.3f => %.3f\n", 1430 "Requests fulfilled %.3f bandwidth utilized %.3f application preferences met %.3f => %.3f\n",