diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-07-02 13:30:52 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-07-02 13:30:52 +0000 |
commit | 2a453cf6aec60af36f655bd053847ab15ff7ae8f (patch) | |
tree | 72f425e722bb25c57d065dbc4cb23b6a0b3b73ba /src/ats | |
parent | ce0bf2430d700ef98d6d453f8909bad1b62eb145 (diff) | |
download | gnunet-2a453cf6aec60af36f655bd053847ab15ff7ae8f.tar.gz gnunet-2a453cf6aec60af36f655bd053847ab15ff7ae8f.zip |
adding functions for bulkmode
Diffstat (limited to 'src/ats')
-rw-r--r-- | src/ats/gnunet-service-ats-solver_mlp.c | 19 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats-solver_mlp.h | 16 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats-solver_proportional.c | 21 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats-solver_proportional.h | 15 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats_addresses.c | 20 | ||||
-rw-r--r-- | src/ats/gnunet-service-ats_addresses.h | 6 |
6 files changed, 97 insertions, 0 deletions
diff --git a/src/ats/gnunet-service-ats-solver_mlp.c b/src/ats/gnunet-service-ats-solver_mlp.c index 43c62df0a..27dcc21cf 100644 --- a/src/ats/gnunet-service-ats-solver_mlp.c +++ b/src/ats/gnunet-service-ats-solver_mlp.c | |||
@@ -1507,6 +1507,25 @@ GAS_mlp_get_preferred_address (void *solver, | |||
1507 | 1507 | ||
1508 | 1508 | ||
1509 | /** | 1509 | /** |
1510 | * Start a bulk operation | ||
1511 | * | ||
1512 | * @param solver the solver | ||
1513 | */ | ||
1514 | void | ||
1515 | GAS_mlp_bulk_start (void *solver) | ||
1516 | { | ||
1517 | |||
1518 | } | ||
1519 | |||
1520 | void | ||
1521 | GAS_mlp_bulk_stop (void *solver) | ||
1522 | { | ||
1523 | |||
1524 | } | ||
1525 | |||
1526 | |||
1527 | |||
1528 | /** | ||
1510 | * Stop notifying about address and bandwidth changes for this peer | 1529 | * Stop notifying about address and bandwidth changes for this peer |
1511 | * | 1530 | * |
1512 | * @param solver the MLP handle | 1531 | * @param solver the MLP handle |
diff --git a/src/ats/gnunet-service-ats-solver_mlp.h b/src/ats/gnunet-service-ats-solver_mlp.h index ab9c59257..3d762819d 100644 --- a/src/ats/gnunet-service-ats-solver_mlp.h +++ b/src/ats/gnunet-service-ats-solver_mlp.h | |||
@@ -450,6 +450,22 @@ GAS_mlp_address_change_preference (void *solver, | |||
450 | 450 | ||
451 | 451 | ||
452 | /** | 452 | /** |
453 | * Start a bulk operation | ||
454 | * | ||
455 | * @param solver the solver | ||
456 | */ | ||
457 | void | ||
458 | GAS_mlp_bulk_start (void *solver); | ||
459 | |||
460 | |||
461 | /** | ||
462 | * Bulk operation done | ||
463 | */ | ||
464 | void | ||
465 | GAS_mlp_bulk_stop (void *solver); | ||
466 | |||
467 | |||
468 | /** | ||
453 | * Get the preferred address for a specific peer | 469 | * Get the preferred address for a specific peer |
454 | * | 470 | * |
455 | * @param solver the MLP Handle | 471 | * @param solver the MLP Handle |
diff --git a/src/ats/gnunet-service-ats-solver_proportional.c b/src/ats/gnunet-service-ats-solver_proportional.c index bd5caa849..bafb55288 100644 --- a/src/ats/gnunet-service-ats-solver_proportional.c +++ b/src/ats/gnunet-service-ats-solver_proportional.c | |||
@@ -1030,6 +1030,27 @@ GAS_proportional_address_delete (void *solver, | |||
1030 | 1030 | ||
1031 | 1031 | ||
1032 | /** | 1032 | /** |
1033 | * Start a bulk operation | ||
1034 | * | ||
1035 | * @param solver the solver | ||
1036 | */ | ||
1037 | void | ||
1038 | GAS_proportional_bulk_start (void *solver) | ||
1039 | { | ||
1040 | |||
1041 | } | ||
1042 | |||
1043 | /** | ||
1044 | * Bulk operation done | ||
1045 | */ | ||
1046 | void | ||
1047 | GAS_proportional_bulk_stop (void *solver) | ||
1048 | { | ||
1049 | |||
1050 | } | ||
1051 | |||
1052 | |||
1053 | /** | ||
1033 | * Add a new single address to a network | 1054 | * Add a new single address to a network |
1034 | * | 1055 | * |
1035 | * @param solver the solver Handle | 1056 | * @param solver the solver Handle |
diff --git a/src/ats/gnunet-service-ats-solver_proportional.h b/src/ats/gnunet-service-ats-solver_proportional.h index fda47cc93..2cef8c922 100644 --- a/src/ats/gnunet-service-ats-solver_proportional.h +++ b/src/ats/gnunet-service-ats-solver_proportional.h | |||
@@ -150,6 +150,21 @@ GAS_proportional_address_delete (void *solver, | |||
150 | 150 | ||
151 | 151 | ||
152 | /** | 152 | /** |
153 | * Start a bulk operation | ||
154 | * | ||
155 | * @param solver the solver | ||
156 | */ | ||
157 | void | ||
158 | GAS_proportional_bulk_start (void *solver); | ||
159 | |||
160 | |||
161 | /** | ||
162 | * Bulk operation done | ||
163 | */ | ||
164 | void | ||
165 | GAS_proportional_bulk_stop (void *solver); | ||
166 | |||
167 | /** | ||
153 | * Stop notifying about address and bandwidth changes for this peer | 168 | * Stop notifying about address and bandwidth changes for this peer |
154 | * | 169 | * |
155 | * @param solver the MLP handle | 170 | * @param solver the MLP handle |
diff --git a/src/ats/gnunet-service-ats_addresses.c b/src/ats/gnunet-service-ats_addresses.c index 245cfeff7..c446d19c7 100644 --- a/src/ats/gnunet-service-ats_addresses.c +++ b/src/ats/gnunet-service-ats_addresses.c | |||
@@ -364,6 +364,16 @@ struct GAS_Addresses_Handle | |||
364 | GAS_solver_address_change_preference s_pref; | 364 | GAS_solver_address_change_preference s_pref; |
365 | 365 | ||
366 | /** | 366 | /** |
367 | * Start a bulk operation | ||
368 | */ | ||
369 | GAS_solver_bulk_start s_bulk_start; | ||
370 | |||
371 | /** | ||
372 | * Bulk operation done | ||
373 | */ | ||
374 | GAS_solver_bulk_stop s_bulk_stop; | ||
375 | |||
376 | /** | ||
367 | * Shutdown solver | 377 | * Shutdown solver |
368 | */ | 378 | */ |
369 | GAS_solver_done s_done; | 379 | GAS_solver_done s_done; |
@@ -938,7 +948,9 @@ GAS_addresses_update (struct GAS_Addresses_Handle *handle, | |||
938 | prev_session = aa->session_id; | 948 | prev_session = aa->session_id; |
939 | aa->session_id = session_id; | 949 | aa->session_id = session_id; |
940 | 950 | ||
951 | handle->s_bulk_start (handle->solver); | ||
941 | GAS_normalization_normalize_property (handle->addresses, aa, atsi, atsi_count); | 952 | GAS_normalization_normalize_property (handle->addresses, aa, atsi, atsi_count); |
953 | handle->s_bulk_stop (handle->solver); | ||
942 | 954 | ||
943 | /* Tell solver about update */ | 955 | /* Tell solver about update */ |
944 | handle->s_update (handle->solver, handle->addresses, aa, prev_session, aa->used, atsi_delta, atsi_delta_count); | 956 | handle->s_update (handle->solver, handle->addresses, aa, prev_session, aa->used, atsi_delta, atsi_delta_count); |
@@ -1404,7 +1416,9 @@ GAS_addresses_change_preference (struct GAS_Addresses_Handle *handle, | |||
1404 | return; | 1416 | return; |
1405 | } | 1417 | } |
1406 | /* Tell normalization about change, normalization will call callback if preference changed */ | 1418 | /* Tell normalization about change, normalization will call callback if preference changed */ |
1419 | handle->s_bulk_start (handle->solver); | ||
1407 | GAS_normalization_normalize_preference (client, peer, kind, score_abs); | 1420 | GAS_normalization_normalize_preference (client, peer, kind, score_abs); |
1421 | handle->s_bulk_stop (handle->solver); | ||
1408 | } | 1422 | } |
1409 | 1423 | ||
1410 | 1424 | ||
@@ -1636,6 +1650,8 @@ GAS_addresses_init (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
1636 | ah->s_get_stop = &GAS_mlp_stop_get_preferred_address; | 1650 | ah->s_get_stop = &GAS_mlp_stop_get_preferred_address; |
1637 | ah->s_pref = &GAS_mlp_address_change_preference; | 1651 | ah->s_pref = &GAS_mlp_address_change_preference; |
1638 | ah->s_del = &GAS_mlp_address_delete; | 1652 | ah->s_del = &GAS_mlp_address_delete; |
1653 | ah->s_bulk_start = &GAS_mlp_bulk_start; | ||
1654 | ah->s_bulk_stop = &GAS_mlp_bulk_stop; | ||
1639 | ah->s_done = &GAS_mlp_done; | 1655 | ah->s_done = &GAS_mlp_done; |
1640 | #else | 1656 | #else |
1641 | GNUNET_free (ah); | 1657 | GNUNET_free (ah); |
@@ -1652,6 +1668,8 @@ GAS_addresses_init (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
1652 | ah->s_get_stop = &GAS_proportional_stop_get_preferred_address; | 1668 | ah->s_get_stop = &GAS_proportional_stop_get_preferred_address; |
1653 | ah->s_pref = &GAS_proportional_address_change_preference; | 1669 | ah->s_pref = &GAS_proportional_address_change_preference; |
1654 | ah->s_del = &GAS_proportional_address_delete; | 1670 | ah->s_del = &GAS_proportional_address_delete; |
1671 | ah->s_bulk_start = &GAS_proportional_bulk_start; | ||
1672 | ah->s_bulk_stop = &GAS_proportional_bulk_stop; | ||
1655 | ah->s_done = &GAS_proportional_done; | 1673 | ah->s_done = &GAS_proportional_done; |
1656 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS started in %s mode\n", "SIMPLISTIC"); | 1674 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "ATS started in %s mode\n", "SIMPLISTIC"); |
1657 | break; | 1675 | break; |
@@ -1668,6 +1686,8 @@ GAS_addresses_init (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
1668 | GNUNET_assert (NULL != ah->s_pref); | 1686 | GNUNET_assert (NULL != ah->s_pref); |
1669 | GNUNET_assert (NULL != ah->s_del); | 1687 | GNUNET_assert (NULL != ah->s_del); |
1670 | GNUNET_assert (NULL != ah->s_done); | 1688 | GNUNET_assert (NULL != ah->s_done); |
1689 | GNUNET_assert (NULL != ah->s_bulk_start); | ||
1690 | GNUNET_assert (NULL != ah->s_bulk_stop); | ||
1671 | 1691 | ||
1672 | GAS_normalization_start (&normalized_preference_changed_cb, ah, | 1692 | GAS_normalization_start (&normalized_preference_changed_cb, ah, |
1673 | &normalized_property_changed_cb, ah); | 1693 | &normalized_property_changed_cb, ah); |
diff --git a/src/ats/gnunet-service-ats_addresses.h b/src/ats/gnunet-service-ats_addresses.h index 4eddd5290..9aa3e46e9 100644 --- a/src/ats/gnunet-service-ats_addresses.h +++ b/src/ats/gnunet-service-ats_addresses.h | |||
@@ -448,6 +448,12 @@ typedef void | |||
448 | enum GNUNET_ATS_PreferenceKind kind, | 448 | enum GNUNET_ATS_PreferenceKind kind, |
449 | double pref_rel); | 449 | double pref_rel); |
450 | 450 | ||
451 | typedef void | ||
452 | (*GAS_solver_bulk_start) (void *solver); | ||
453 | |||
454 | typedef void | ||
455 | (*GAS_solver_bulk_stop) (void *solver); | ||
456 | |||
451 | /** | 457 | /** |
452 | * Add a single address within a network to the solver | 458 | * Add a single address within a network to the solver |
453 | * | 459 | * |