diff options
author | Christian Grothoff <christian@grothoff.org> | 2015-02-06 14:25:50 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2015-02-06 14:25:50 +0000 |
commit | 936db3ddce41de5f16e931d1a995c0be0135ac73 (patch) | |
tree | 3fd5cdf164b49a0fe5a567c60d982fc3d23257cf /src | |
parent | 34206679446e053b674a4fbdaabdd8c463ad70e2 (diff) | |
download | gnunet-936db3ddce41de5f16e931d1a995c0be0135ac73.tar.gz gnunet-936db3ddce41de5f16e931d1a995c0be0135ac73.zip |
test ATS tests to pass again
Diffstat (limited to 'src')
-rw-r--r-- | src/ats/Makefile.am | 4 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats_connectivity.c | 15 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats_connectivity.h | 11 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats_plugins.c | 11 | ||||
-rw-r--r-- | src/ats/plugin_ats_ril.c | 26 |
5 files changed, 45 insertions, 22 deletions
diff --git a/src/ats/Makefile.am b/src/ats/Makefile.am index 59e8d178b..fcd71d37d 100644 --- a/src/ats/Makefile.am +++ b/src/ats/Makefile.am | |||
@@ -45,6 +45,7 @@ gnunet_ats_solver_eval_SOURCES = \ | |||
45 | gnunet-ats-solver-eval.c gnunet-ats-solver-eval.h \ | 45 | gnunet-ats-solver-eval.c gnunet-ats-solver-eval.h \ |
46 | gnunet-service-ats_addresses.c gnunet-service-ats_addresses.h \ | 46 | gnunet-service-ats_addresses.c gnunet-service-ats_addresses.h \ |
47 | gnunet-service-ats_plugins.c gnunet-service-ats_plugins.h \ | 47 | gnunet-service-ats_plugins.c gnunet-service-ats_plugins.h \ |
48 | gnunet-service-ats_connectivity.c gnunet-service-ats_connectivity.h \ | ||
48 | gnunet-service-ats_feedback.c gnunet-service-ats_feedback.h \ | 49 | gnunet-service-ats_feedback.c gnunet-service-ats_feedback.h \ |
49 | gnunet-service-ats_performance.c gnunet-service-ats_performance.h \ | 50 | gnunet-service-ats_performance.c gnunet-service-ats_performance.h \ |
50 | gnunet-service-ats_preferences.c gnunet-service-ats_preferences.h \ | 51 | gnunet-service-ats_preferences.c gnunet-service-ats_preferences.h \ |
@@ -530,6 +531,7 @@ perf_ats_solver_mlp_SOURCES = \ | |||
530 | test_ats_api_common.c \ | 531 | test_ats_api_common.c \ |
531 | gnunet-service-ats_normalization.c \ | 532 | gnunet-service-ats_normalization.c \ |
532 | gnunet-service-ats_addresses.c gnunet-service-ats_addresses.h \ | 533 | gnunet-service-ats_addresses.c gnunet-service-ats_addresses.h \ |
534 | gnunet-service-ats_connectivity.c gnunet-service-ats_connectivity.h \ | ||
533 | gnunet-service-ats_performance.c gnunet-service-ats_performance.h \ | 535 | gnunet-service-ats_performance.c gnunet-service-ats_performance.h \ |
534 | gnunet-service-ats_preferences.c gnunet-service-ats_preferences.h \ | 536 | gnunet-service-ats_preferences.c gnunet-service-ats_preferences.h \ |
535 | gnunet-service-ats_scheduling.c gnunet-service-ats_scheduling.h \ | 537 | gnunet-service-ats_scheduling.c gnunet-service-ats_scheduling.h \ |
@@ -547,6 +549,7 @@ perf_ats_solver_proportional_SOURCES = \ | |||
547 | test_ats_api_common.c \ | 549 | test_ats_api_common.c \ |
548 | gnunet-service-ats_normalization.c \ | 550 | gnunet-service-ats_normalization.c \ |
549 | gnunet-service-ats_addresses.c gnunet-service-ats_addresses.h \ | 551 | gnunet-service-ats_addresses.c gnunet-service-ats_addresses.h \ |
552 | gnunet-service-ats_connectivity.c gnunet-service-ats_connectivity.h \ | ||
550 | gnunet-service-ats_preferences.c gnunet-service-ats_preferences.h \ | 553 | gnunet-service-ats_preferences.c gnunet-service-ats_preferences.h \ |
551 | gnunet-service-ats_performance.c gnunet-service-ats_performance.h \ | 554 | gnunet-service-ats_performance.c gnunet-service-ats_performance.h \ |
552 | gnunet-service-ats_scheduling.c gnunet-service-ats_scheduling.h \ | 555 | gnunet-service-ats_scheduling.c gnunet-service-ats_scheduling.h \ |
@@ -564,6 +567,7 @@ perf_ats_solver_ril_SOURCES = \ | |||
564 | test_ats_api_common.c \ | 567 | test_ats_api_common.c \ |
565 | gnunet-service-ats_normalization.c \ | 568 | gnunet-service-ats_normalization.c \ |
566 | gnunet-service-ats_addresses.c gnunet-service-ats_addresses.h \ | 569 | gnunet-service-ats_addresses.c gnunet-service-ats_addresses.h \ |
570 | gnunet-service-ats_connectivity.c gnunet-service-ats_connectivity.h \ | ||
567 | gnunet-service-ats_preferences.c gnunet-service-ats_preferences.h \ | 571 | gnunet-service-ats_preferences.c gnunet-service-ats_preferences.h \ |
568 | gnunet-service-ats_performance.c gnunet-service-ats_performance.h \ | 572 | gnunet-service-ats_performance.c gnunet-service-ats_performance.h \ |
569 | gnunet-service-ats_scheduling.c gnunet-service-ats_scheduling.h \ | 573 | gnunet-service-ats_scheduling.c gnunet-service-ats_scheduling.h \ |
diff --git a/src/ats/gnunet-service-ats_connectivity.c b/src/ats/gnunet-service-ats_connectivity.c index 56d7abbeb..f343557d1 100644 --- a/src/ats/gnunet-service-ats_connectivity.c +++ b/src/ats/gnunet-service-ats_connectivity.c | |||
@@ -51,6 +51,21 @@ static struct GNUNET_CONTAINER_MultiPeerMap *connection_requests; | |||
51 | 51 | ||
52 | 52 | ||
53 | /** | 53 | /** |
54 | * Is the given peer in the list of peers for which we | ||
55 | * have an address request? | ||
56 | * | ||
57 | * @param peer peer to query for | ||
58 | * @return #GNUNET_YES if so, #GNUNET_NO if not | ||
59 | */ | ||
60 | int | ||
61 | GAS_connectivity_has_peer (const struct GNUNET_PeerIdentity *peer) | ||
62 | { | ||
63 | return GNUNET_CONTAINER_multipeermap_contains (connection_requests, | ||
64 | peer); | ||
65 | } | ||
66 | |||
67 | |||
68 | /** | ||
54 | * Handle 'request address' messages from clients. | 69 | * Handle 'request address' messages from clients. |
55 | * | 70 | * |
56 | * @param cls unused, NULL | 71 | * @param cls unused, NULL |
diff --git a/src/ats/gnunet-service-ats_connectivity.h b/src/ats/gnunet-service-ats_connectivity.h index 61c1d0ce5..f94932a1b 100644 --- a/src/ats/gnunet-service-ats_connectivity.h +++ b/src/ats/gnunet-service-ats_connectivity.h | |||
@@ -30,6 +30,17 @@ | |||
30 | 30 | ||
31 | 31 | ||
32 | /** | 32 | /** |
33 | * Is the given peer in the list of peers for which we | ||
34 | * have an address request? | ||
35 | * | ||
36 | * @param peer peer to query for | ||
37 | * @return #GNUNET_YES if so, #GNUNET_NO if not | ||
38 | */ | ||
39 | int | ||
40 | GAS_connectivity_has_peer (const struct GNUNET_PeerIdentity *peer); | ||
41 | |||
42 | |||
43 | /** | ||
33 | * Handle 'request address' messages from clients. | 44 | * Handle 'request address' messages from clients. |
34 | * | 45 | * |
35 | * @param cls unused, NULL | 46 | * @param cls unused, NULL |
diff --git a/src/ats/gnunet-service-ats_plugins.c b/src/ats/gnunet-service-ats_plugins.c index 6c15bc27c..5e3f9c8d4 100644 --- a/src/ats/gnunet-service-ats_plugins.c +++ b/src/ats/gnunet-service-ats_plugins.c | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | #include "platform.h" | 27 | #include "platform.h" |
28 | #include "gnunet_ats_plugin.h" | 28 | #include "gnunet_ats_plugin.h" |
29 | #include "gnunet-service-ats_connectivity.h" | ||
29 | #include "gnunet-service-ats_performance.h" | 30 | #include "gnunet-service-ats_performance.h" |
30 | #include "gnunet-service-ats_preferences.h" | 31 | #include "gnunet-service-ats_preferences.h" |
31 | #include "gnunet-service-ats_plugins.h" | 32 | #include "gnunet-service-ats_plugins.h" |
@@ -272,7 +273,9 @@ bandwidth_changed_cb (void *cls, | |||
272 | */ | 273 | */ |
273 | static unsigned int | 274 | static unsigned int |
274 | load_quotas (const struct GNUNET_CONFIGURATION_Handle *cfg, | 275 | load_quotas (const struct GNUNET_CONFIGURATION_Handle *cfg, |
275 | unsigned long long *out_dest, unsigned long long *in_dest, int dest_length) | 276 | unsigned long long *out_dest, |
277 | unsigned long long *in_dest, | ||
278 | int dest_length) | ||
276 | { | 279 | { |
277 | char * entry_in = NULL; | 280 | char * entry_in = NULL; |
278 | char * entry_out = NULL; | 281 | char * entry_out = NULL; |
@@ -529,6 +532,7 @@ GAS_plugin_new_address (struct ATS_Address *new_address, | |||
529 | atsi, | 532 | atsi, |
530 | atsi_count); | 533 | atsi_count); |
531 | sf->s_bulk_stop (sf->cls); | 534 | sf->s_bulk_stop (sf->cls); |
535 | // if (GAS_connectivity_has_peer (&new_address->peer)) GAS_plugin_request_connect_start (&new_address->peer); | ||
532 | } | 536 | } |
533 | 537 | ||
534 | 538 | ||
@@ -612,15 +616,10 @@ GAS_plugin_request_connect_start (const struct GNUNET_PeerIdentity *pid) | |||
612 | "Suggesting address %p for peer `%s'\n", | 616 | "Suggesting address %p for peer `%s'\n", |
613 | aa, | 617 | aa, |
614 | GNUNET_i2s (pid)); | 618 | GNUNET_i2s (pid)); |
615 | |||
616 | GAS_scheduling_transmit_address_suggestion (pid, | 619 | GAS_scheduling_transmit_address_suggestion (pid, |
617 | aa->session_id, | 620 | aa->session_id, |
618 | GNUNET_BANDWIDTH_value_init (aa->assigned_bw_out), | 621 | GNUNET_BANDWIDTH_value_init (aa->assigned_bw_out), |
619 | GNUNET_BANDWIDTH_value_init (aa->assigned_bw_in)); | 622 | GNUNET_BANDWIDTH_value_init (aa->assigned_bw_in)); |
620 | |||
621 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | ||
622 | "Address %p ready for suggestion\n", | ||
623 | aa); | ||
624 | } | 623 | } |
625 | 624 | ||
626 | 625 | ||
diff --git a/src/ats/plugin_ats_ril.c b/src/ats/plugin_ats_ril.c index 6be8ef4f6..3ab2335f8 100644 --- a/src/ats/plugin_ats_ril.c +++ b/src/ats/plugin_ats_ril.c | |||
@@ -807,7 +807,7 @@ ril_get_max_bw (struct RIL_Scope *net) | |||
807 | * @param new_address the address which is to be used | 807 | * @param new_address the address which is to be used |
808 | * @param new_bw_in the new amount of inbound bandwidth set for this address | 808 | * @param new_bw_in the new amount of inbound bandwidth set for this address |
809 | * @param new_bw_out the new amount of outbound bandwidth set for this address | 809 | * @param new_bw_out the new amount of outbound bandwidth set for this address |
810 | * @param silent disables invocation of the bw_changed callback, if GNUNET_YES | 810 | * @param silent disables invocation of the bw_changed callback, if #GNUNET_YES |
811 | */ | 811 | */ |
812 | static void | 812 | static void |
813 | envi_set_active_suggestion (struct GAS_RIL_Handle *solver, | 813 | envi_set_active_suggestion (struct GAS_RIL_Handle *solver, |
@@ -1930,7 +1930,7 @@ ril_step (struct GAS_RIL_Handle *solver) | |||
1930 | 1930 | ||
1931 | ril_networks_update_state (solver); | 1931 | ril_networks_update_state (solver); |
1932 | 1932 | ||
1933 | solver->step_count += 1; | 1933 | solver->step_count++; |
1934 | ril_step_schedule_next (solver); | 1934 | ril_step_schedule_next (solver); |
1935 | 1935 | ||
1936 | ril_inform (solver, GAS_OP_SOLVE_STOP, GAS_STAT_SUCCESS); | 1936 | ril_inform (solver, GAS_OP_SOLVE_STOP, GAS_STAT_SUCCESS); |
@@ -2265,7 +2265,6 @@ GAS_ril_address_delete (void *solver, | |||
2265 | struct GAS_RIL_Handle *s = solver; | 2265 | struct GAS_RIL_Handle *s = solver; |
2266 | struct RIL_Peer_Agent *agent; | 2266 | struct RIL_Peer_Agent *agent; |
2267 | struct RIL_Address_Wrapped *address_wrapped; | 2267 | struct RIL_Address_Wrapped *address_wrapped; |
2268 | int address_was_used; | ||
2269 | int address_index; | 2268 | int address_index; |
2270 | unsigned int m_new; | 2269 | unsigned int m_new; |
2271 | unsigned int n_new; | 2270 | unsigned int n_new; |
@@ -2305,17 +2304,6 @@ GAS_ril_address_delete (void *solver, | |||
2305 | agent->addresses_tail, | 2304 | agent->addresses_tail, |
2306 | address_wrapped); | 2305 | address_wrapped); |
2307 | GNUNET_free (address_wrapped); | 2306 | GNUNET_free (address_wrapped); |
2308 | address_was_used = GNUNET_NO; | ||
2309 | if (agent->suggestion_address == address) | ||
2310 | { | ||
2311 | agent->suggestion_issue = GNUNET_NO; | ||
2312 | agent->suggestion_address = NULL; | ||
2313 | } | ||
2314 | if (agent->address_inuse == address) | ||
2315 | { | ||
2316 | address_was_used = GNUNET_YES; | ||
2317 | } | ||
2318 | |||
2319 | 2307 | ||
2320 | //decrease W | 2308 | //decrease W |
2321 | m_new = agent->m - ((s->parameters.rbf_divisor+1) * (s->parameters.rbf_divisor+1)); | 2309 | m_new = agent->m - ((s->parameters.rbf_divisor+1) * (s->parameters.rbf_divisor+1)); |
@@ -2352,7 +2340,7 @@ GAS_ril_address_delete (void *solver, | |||
2352 | agent->m = m_new; | 2340 | agent->m = m_new; |
2353 | agent->n = n_new; | 2341 | agent->n = n_new; |
2354 | 2342 | ||
2355 | if (address_was_used) | 2343 | if (agent->address_inuse == address) |
2356 | { | 2344 | { |
2357 | if (NULL != agent->addresses_head) //if peer has an address left, use it | 2345 | if (NULL != agent->addresses_head) //if peer has an address left, use it |
2358 | { | 2346 | { |
@@ -2372,10 +2360,16 @@ GAS_ril_address_delete (void *solver, | |||
2372 | envi_set_active_suggestion (s, agent, NULL, 0, 0, GNUNET_NO); | 2360 | envi_set_active_suggestion (s, agent, NULL, 0, 0, GNUNET_NO); |
2373 | } | 2361 | } |
2374 | } | 2362 | } |
2375 | |||
2376 | ril_step (solver); | 2363 | ril_step (solver); |
2364 | if (agent->suggestion_address == address) | ||
2365 | { | ||
2366 | agent->suggestion_issue = GNUNET_NO; | ||
2367 | agent->suggestion_address = NULL; | ||
2368 | } | ||
2369 | GNUNET_assert (agent->address_inuse != address); | ||
2377 | } | 2370 | } |
2378 | 2371 | ||
2372 | |||
2379 | /** | 2373 | /** |
2380 | * Update the properties of an address in the solver | 2374 | * Update the properties of an address in the solver |
2381 | * | 2375 | * |