diff options
-rw-r--r-- | src/ats/gnunet-service-ats-solver_proportional.c | 23 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats_addresses.c | 25 |
2 files changed, 17 insertions, 31 deletions
diff --git a/src/ats/gnunet-service-ats-solver_proportional.c b/src/ats/gnunet-service-ats-solver_proportional.c index d85483dde..31c4ca5e0 100644 --- a/src/ats/gnunet-service-ats-solver_proportional.c +++ b/src/ats/gnunet-service-ats-solver_proportional.c | |||
@@ -910,11 +910,12 @@ GAS_proportional_get_preferred_address (void *solver, | |||
910 | GNUNET_assert(peer != NULL); | 910 | GNUNET_assert(peer != NULL); |
911 | 911 | ||
912 | /* Add to list of pending requests */ | 912 | /* Add to list of pending requests */ |
913 | if (GNUNET_NO | 913 | if (GNUNET_NO == GNUNET_CONTAINER_multihashmap_contains (s->requests, |
914 | == GNUNET_CONTAINER_multihashmap_contains (s->requests, | ||
915 | &peer->hashPubKey)) | 914 | &peer->hashPubKey)) |
916 | GNUNET_CONTAINER_multihashmap_put (s->requests, &peer->hashPubKey, NULL, | 915 | { |
917 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY); | 916 | GNUNET_assert (GNUNET_OK == GNUNET_CONTAINER_multihashmap_put (s->requests, &peer->hashPubKey, NULL, |
917 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY)); | ||
918 | } | ||
918 | 919 | ||
919 | /* Get address with: stick to current address, lower distance, lower latency */ | 920 | /* Get address with: stick to current address, lower distance, lower latency */ |
920 | fba_ctx.s = s; | 921 | fba_ctx.s = s; |
@@ -1347,15 +1348,11 @@ GAS_proportional_address_add (void *solver, struct ATS_Address *address, | |||
1347 | addresse_increment (s, net, GNUNET_YES, GNUNET_NO); | 1348 | addresse_increment (s, net, GNUNET_YES, GNUNET_NO); |
1348 | aw->addr->solver_information = net; | 1349 | aw->addr->solver_information = net; |
1349 | 1350 | ||
1350 | if ((GNUNET_YES | 1351 | if (GNUNET_YES == GNUNET_CONTAINER_multihashmap_contains (s->requests, &address->peer.hashPubKey)) |
1351 | == GNUNET_CONTAINER_multihashmap_contains (s->requests, | 1352 | { |
1352 | &address->peer.hashPubKey)) | 1353 | if (NULL == get_active_address (s, (struct GNUNET_CONTAINER_MultiHashMap *) s->addresses, &address->peer)) |
1353 | && (NULL | 1354 | GAS_proportional_get_preferred_address (s, &address->peer); |
1354 | == get_active_address (s, | 1355 | } |
1355 | (struct GNUNET_CONTAINER_MultiHashMap *) s->addresses, | ||
1356 | &address->peer))) | ||
1357 | GAS_proportional_get_preferred_address (s, &address->peer); | ||
1358 | |||
1359 | LOG(GNUNET_ERROR_TYPE_DEBUG, | 1356 | LOG(GNUNET_ERROR_TYPE_DEBUG, |
1360 | "After adding address now total %u and active %u addresses in network `%s'\n", | 1357 | "After adding address now total %u and active %u addresses in network `%s'\n", |
1361 | net->total_addresses, net->active_addresses, net->desc); | 1358 | net->total_addresses, net->active_addresses, net->desc); |
diff --git a/src/ats/gnunet-service-ats_addresses.c b/src/ats/gnunet-service-ats_addresses.c index 50a72d80d..300febf09 100644 --- a/src/ats/gnunet-service-ats_addresses.c +++ b/src/ats/gnunet-service-ats_addresses.c | |||
@@ -787,7 +787,10 @@ GAS_addresses_add (struct GAS_Addresses_Handle *handle, | |||
787 | { | 787 | { |
788 | /* Add a new address */ | 788 | /* Add a new address */ |
789 | GNUNET_assert( | 789 | GNUNET_assert( |
790 | GNUNET_OK == GNUNET_CONTAINER_multihashmap_put (handle->addresses, &peer->hashPubKey, new_address, GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE)); | 790 | GNUNET_OK == GNUNET_CONTAINER_multihashmap_put (handle->addresses, |
791 | &peer->hashPubKey, | ||
792 | new_address, | ||
793 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE)); | ||
791 | 794 | ||
792 | GNUNET_STATISTICS_set (handle->stat, "# addresses", | 795 | GNUNET_STATISTICS_set (handle->stat, "# addresses", |
793 | GNUNET_CONTAINER_multihashmap_size (handle->addresses), GNUNET_NO); | 796 | GNUNET_CONTAINER_multihashmap_size (handle->addresses), GNUNET_NO); |
@@ -1231,23 +1234,6 @@ GAS_addresses_request_address_cancel (struct GAS_Addresses_Handle *handle, | |||
1231 | GNUNET_free(cur); | 1234 | GNUNET_free(cur); |
1232 | } | 1235 | } |
1233 | 1236 | ||
1234 | /* | ||
1235 | static int | ||
1236 | addrinfo_it (void *cls, const struct GNUNET_HashCode *key, void *value) | ||
1237 | { | ||
1238 | static int count = 0; | ||
1239 | struct GNUNET_PeerIdentity *id = cls; | ||
1240 | struct ATS_Address *aa = value; | ||
1241 | |||
1242 | GNUNET_log (GNUNET_ERROR_TYPE_INFO, | ||
1243 | "[%u] Peer `%s' %s length %u session %u active %s\n", | ||
1244 | count, GNUNET_i2s (id), aa->plugin, aa->addr_len, aa->session_id, | ||
1245 | (GNUNET_YES == aa->active) ? "active" : "inactive"); | ||
1246 | |||
1247 | count ++; | ||
1248 | return GNUNET_OK; | ||
1249 | } | ||
1250 | */ | ||
1251 | 1237 | ||
1252 | /** | 1238 | /** |
1253 | * Request address suggestions for a peer | 1239 | * Request address suggestions for a peer |
@@ -1277,6 +1263,9 @@ GAS_addresses_request_address (struct GAS_Addresses_Handle *handle, | |||
1277 | { | 1263 | { |
1278 | cur = GNUNET_malloc (sizeof (struct GAS_Addresses_Suggestion_Requests)); | 1264 | cur = GNUNET_malloc (sizeof (struct GAS_Addresses_Suggestion_Requests)); |
1279 | cur->id = (*peer); | 1265 | cur->id = (*peer); |
1266 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
1267 | "Adding new address suggestion request for `%s'\n", | ||
1268 | GNUNET_i2s (peer)); | ||
1280 | GNUNET_CONTAINER_DLL_insert(handle->r_head, handle->r_tail, cur); | 1269 | GNUNET_CONTAINER_DLL_insert(handle->r_head, handle->r_tail, cur); |
1281 | } | 1270 | } |
1282 | 1271 | ||