only solve on request:
authorMatthias Wachs <wachs@net.in.tum.de>
Tue, 10 Sep 2013 09:59:28 +0000 (09:59 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Tue, 10 Sep 2013 09:59:28 +0000 (09:59 +0000)
- if we have a new request
- if we have an address for the peer

src/ats/gnunet-service-ats-solver_mlp.c

index c2873a4f6fa9401f925e28e61749bd5ddaa37493..2d8ac1c7905ddf882e96080a473690f08dad4297 100644 (file)
@@ -1531,9 +1531,11 @@ GAS_mlp_get_preferred_address (void *solver,
 
          /* Added new peer, we have to rebuild problem before solving */
          mlp->mlp_prob_changed = GNUNET_YES;
+
+         if ((GNUNET_YES == mlp->mlp_auto_solve) &&
+                       (GNUNET_YES == GNUNET_CONTAINER_multihashmap_contains(mlp->addresses, &peer->hashPubKey)))
+               GAS_mlp_solve_problem (mlp);
   }
-  if (GNUNET_YES == mlp->mlp_auto_solve)
-       GAS_mlp_solve_problem (mlp);
 
   /* Get prefered address */
   GNUNET_CONTAINER_multihashmap_get_multiple (mlp->addresses, &peer->hashPubKey,