aboutsummaryrefslogtreecommitdiff
path: root/src/ats/gnunet-service-ats_addresses.c
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-11-19 14:48:18 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-11-19 14:48:18 +0000
commitb49684305e14208fa5bffb817a0677df33611878 (patch)
treebc3c83bb298edc39879d9a0c7bcc7cb761e25d66 /src/ats/gnunet-service-ats_addresses.c
parent77d5149378781178d0b216ef7898ff9ea562209e (diff)
downloadgnunet-b49684305e14208fa5bffb817a0677df33611878.tar.gz
gnunet-b49684305e14208fa5bffb817a0677df33611878.zip
get normalized pref per client
Diffstat (limited to 'src/ats/gnunet-service-ats_addresses.c')
-rw-r--r--src/ats/gnunet-service-ats_addresses.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/src/ats/gnunet-service-ats_addresses.c b/src/ats/gnunet-service-ats_addresses.c
index 7d0eb48ea..833a26c41 100644
--- a/src/ats/gnunet-service-ats_addresses.c
+++ b/src/ats/gnunet-service-ats_addresses.c
@@ -1460,6 +1460,10 @@ GAS_addresses_evaluate_assignment (struct GAS_Addresses_Handle *ah)
1460 struct SummaryContext sum; 1460 struct SummaryContext sum;
1461 int network_count; 1461 int network_count;
1462 1462
1463 /* Variables for preferences */
1464 int prefs[GNUNET_ATS_PreferenceCount] = GNUNET_ATS_PreferenceType;
1465 double pref_val;
1466
1463 GNUNET_assert (NULL != ah); 1467 GNUNET_assert (NULL != ah);
1464 GNUNET_assert (NULL != ah->addresses); 1468 GNUNET_assert (NULL != ah->addresses);
1465 1469
@@ -1530,12 +1534,32 @@ GAS_addresses_evaluate_assignment (struct GAS_Addresses_Handle *ah)
1530 1534
1531 /* 3) How well does selection match application requirements */ 1535 /* 3) How well does selection match application requirements */
1532 include_requirements = GNUNET_NO; 1536 include_requirements = GNUNET_NO;
1533 for (pcur = ah->preference_clients_head; NULL != pcur; pcur = pcur->next) 1537 if (0 == ah->pref_clients)
1534 { 1538 {
1535 /* V metrics*/ 1539 include_requirements = GNUNET_NO;
1540 }
1541 else
1542 {
1543 for (pcur = ah->preference_clients_head; NULL != pcur; pcur = pcur->next)
1536 { 1544 {
1537 /* V peers */ 1545 /* V metrics*/
1546 for (c = 0; c < GNUNET_ATS_PreferenceCount; c++)
1547 {
1548
1549 if (prefs[c] == GNUNET_ATS_PREFERENCE_END)
1550 continue;
1551 pref_val = -1.0;
1552 pref_val = GAS_normalization_get_preferences_by_client (pcur->client, prefs[c]);
1553 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "normalized pref for client %p == %.3f\n",
1554 pcur->client, pref_val);
1555 if (-1.0 == pref_val)
1556 {
1557 GNUNET_break (0);
1558 continue;
1559 }
1560 }
1538 } 1561 }
1562 include_requirements = GNUNET_YES;
1539 } 1563 }
1540 /* GUQ */ 1564 /* GUQ */
1541 1565