From 784b55612ffc8838221aa8e9ef82c3e0e2ff0393 Mon Sep 17 00:00:00 2001 From: Matthias Wachs Date: Mon, 3 Dec 2012 15:05:57 +0000 Subject: [PATCH] changes --- src/ats/gnunet-service-ats_addresses.c | 38 +++++++++++++++---- .../gnunet-service-ats_addresses_simplistic.c | 17 +++++++++ .../gnunet-service-ats_addresses_simplistic.h | 15 ++++++++ 3 files changed, 62 insertions(+), 8 deletions(-) diff --git a/src/ats/gnunet-service-ats_addresses.c b/src/ats/gnunet-service-ats_addresses.c index 47ba3312b..1a511eb3d 100644 --- a/src/ats/gnunet-service-ats_addresses.c +++ b/src/ats/gnunet-service-ats_addresses.c @@ -564,6 +564,7 @@ GAS_addresses_update (const struct GNUNET_PeerIdentity *peer, break; } + /* Tell solver about update */ switch (ats_mode) { case MODE_MLP: @@ -812,10 +813,20 @@ GAS_addresses_in_use (const struct GNUNET_PeerIdentity *peer, return GNUNET_SYSERR; } old->used = in_use; -#if HAVE_LIBGLPK - if (ats_mode == MODE_MLP) - GAS_mlp_address_update (solver, addresses, old); -#endif + + /* Tell solver about update */ + switch (ats_mode) + { + case MODE_MLP: + GAS_mlp_address_update (solver, addresses, old); + break; + case MODE_SIMPLISTIC: + GAS_simplistic_address_update (solver, addresses, old); + break; + default: + GNUNET_break (0); + break; + } return GNUNET_OK; } @@ -955,10 +966,21 @@ GAS_addresses_change_preference (const struct GNUNET_PeerIdentity *peer, { if (GNUNET_NO == running) return; -#if HAVE_LIBGLPK - if (ats_mode == MODE_MLP) - GAS_mlp_address_change_preference (solver, peer, kind, score); -#endif + + + /* Tell solver about update */ + switch (ats_mode) + { + case MODE_MLP: + GAS_mlp_address_change_preference (solver, peer, kind, score); + break; + case MODE_SIMPLISTIC: + GAS_simplistic_address_change_preference (solver, peer, kind, score); + break; + default: + GNUNET_break (0); + break; + } } diff --git a/src/ats/gnunet-service-ats_addresses_simplistic.c b/src/ats/gnunet-service-ats_addresses_simplistic.c index dca97f401..359a683aa 100644 --- a/src/ats/gnunet-service-ats_addresses_simplistic.c +++ b/src/ats/gnunet-service-ats_addresses_simplistic.c @@ -75,4 +75,21 @@ GAS_simplistic_address_update (struct GAS_SIMPLISTIC_Handle *solver, struct GNUN } +/** + * Changes the preferences for a peer in the problem + * + * @param solver the solver handle + * @param peer the peer + * @param kind the kind to change the preference + * @param score the score + */ +void +GAS_simplistic_address_change_preference (struct GAS_SIMPLISTIC_Handle *solver, + const struct GNUNET_PeerIdentity *peer, + enum GNUNET_ATS_PreferenceKind kind, + float score) +{ + +} + /* end of gnunet-service-ats_addresses_simplistic.c */ diff --git a/src/ats/gnunet-service-ats_addresses_simplistic.h b/src/ats/gnunet-service-ats_addresses_simplistic.h index 2e1e14911..be4e98a45 100644 --- a/src/ats/gnunet-service-ats_addresses_simplistic.h +++ b/src/ats/gnunet-service-ats_addresses_simplistic.h @@ -61,4 +61,19 @@ GAS_simplistic_done (struct GAS_SIMPLISTIC_Handle *); void GAS_simplistic_address_update (struct GAS_SIMPLISTIC_Handle *solver, struct GNUNET_CONTAINER_MultiHashMap * addresses, struct ATS_Address *address); +/** + * Changes the preferences for a peer in the problem + * + * @param solver the solver handle + * @param peer the peer + * @param kind the kind to change the preference + * @param score the score + */ +void +GAS_simplistic_address_change_preference (struct GAS_SIMPLISTIC_Handle *solver, + const struct GNUNET_PeerIdentity *peer, + enum GNUNET_ATS_PreferenceKind kind, + float score); + + /* end of gnunet-service-ats_addresses_simplistic.h */ -- 2.25.1