diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-11-19 14:48:18 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-11-19 14:48:18 +0000 |
commit | b49684305e14208fa5bffb817a0677df33611878 (patch) | |
tree | bc3c83bb298edc39879d9a0c7bcc7cb761e25d66 /src/ats/gnunet-service-ats_addresses.c | |
parent | 77d5149378781178d0b216ef7898ff9ea562209e (diff) | |
download | gnunet-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.c | 30 |
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 | ||