diff options
Diffstat (limited to 'src/ats/gnunet-service-ats-solver_proportional.c')
-rw-r--r-- | src/ats/gnunet-service-ats-solver_proportional.c | 23 |
1 files changed, 10 insertions, 13 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); |