aboutsummaryrefslogtreecommitdiff
path: root/src/ats
diff options
context:
space:
mode:
authorMatthias Wachs <wachs@net.in.tum.de>2013-07-02 13:30:52 +0000
committerMatthias Wachs <wachs@net.in.tum.de>2013-07-02 13:30:52 +0000
commit2a453cf6aec60af36f655bd053847ab15ff7ae8f (patch)
tree72f425e722bb25c57d065dbc4cb23b6a0b3b73ba /src/ats
parentce0bf2430d700ef98d6d453f8909bad1b62eb145 (diff)
downloadgnunet-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.c19
-rw-r--r--src/ats/gnunet-service-ats-solver_mlp.h16
-rw-r--r--src/ats/gnunet-service-ats-solver_proportional.c21
-rw-r--r--src/ats/gnunet-service-ats-solver_proportional.h15
-rw-r--r--src/ats/gnunet-service-ats_addresses.c20
-rw-r--r--src/ats/gnunet-service-ats_addresses.h6
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 */
1514void
1515GAS_mlp_bulk_start (void *solver)
1516{
1517
1518}
1519
1520void
1521GAS_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 */
457void
458GAS_mlp_bulk_start (void *solver);
459
460
461/**
462 * Bulk operation done
463 */
464void
465GAS_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 */
1037void
1038GAS_proportional_bulk_start (void *solver)
1039{
1040
1041}
1042
1043/**
1044 * Bulk operation done
1045 */
1046void
1047GAS_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 */
157void
158GAS_proportional_bulk_start (void *solver);
159
160
161/**
162 * Bulk operation done
163 */
164void
165GAS_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
451typedef void
452(*GAS_solver_bulk_start) (void *solver);
453
454typedef 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 *