diff options
author | Martin Schanzenbach <mschanzenbach@posteo.de> | 2012-04-10 15:46:01 +0000 |
---|---|---|
committer | Martin Schanzenbach <mschanzenbach@posteo.de> | 2012-04-10 15:46:01 +0000 |
commit | 891caa55483a7f889f603f56e9ffe96ad975d7e5 (patch) | |
tree | 5a10a268cc083754c8bdbd644a28f3c71578efb6 /src | |
parent | 562a20129f7e3eb01bdae830d619f9a22bb81286 (diff) | |
download | gnunet-891caa55483a7f889f603f56e9ffe96ad975d7e5.tar.gz gnunet-891caa55483a7f889f603f56e9ffe96ad975d7e5.zip |
-renamed config options, tuned periodic puts
Diffstat (limited to 'src')
-rw-r--r-- | src/gns/gns.conf.in | 2 | ||||
-rw-r--r-- | src/gns/gnunet-service-gns.c | 48 | ||||
-rw-r--r-- | src/gns/test_gns_simple_lookup.conf | 2 |
3 files changed, 39 insertions, 13 deletions
diff --git a/src/gns/gns.conf.in b/src/gns/gns.conf.in index 960e13a94..fb3ac3228 100644 --- a/src/gns/gns.conf.in +++ b/src/gns/gns.conf.in | |||
@@ -11,6 +11,8 @@ AUTO_IMPORT_PKEY = YES | |||
11 | AUTO_IMPORT_CONFIRMATION_REQ = NO | 11 | AUTO_IMPORT_CONFIRMATION_REQ = NO |
12 | MAX_PARALLEL_BACKGROUND_QUERIES = 25 | 12 | MAX_PARALLEL_BACKGROUND_QUERIES = 25 |
13 | DEFAULT_LOOKUP_TIMEOUT = 10 | 13 | DEFAULT_LOOKUP_TIMEOUT = 10 |
14 | RECORD_PUT_INTERVAL = 60 | ||
15 | ZONE_PUT_INTERVAL = 900 | ||
14 | 16 | ||
15 | [fcfsd] | 17 | [fcfsd] |
16 | HTTPPORT = 18080 | 18 | HTTPPORT = 18080 |
diff --git a/src/gns/gnunet-service-gns.c b/src/gns/gnunet-service-gns.c index 665872296..ac1067c0e 100644 --- a/src/gns/gnunet-service-gns.c +++ b/src/gns/gnunet-service-gns.c | |||
@@ -140,15 +140,17 @@ struct GNUNET_CRYPTO_ShortHashCode zone_hash; | |||
140 | /** | 140 | /** |
141 | * Useful for zone update for DHT put | 141 | * Useful for zone update for DHT put |
142 | */ | 142 | */ |
143 | static int num_public_records = 3600; | 143 | static int num_public_records = 0; |
144 | 144 | ||
145 | /** | 145 | /** |
146 | * update interval in seconds | 146 | * update interval in seconds |
147 | */ | 147 | */ |
148 | static unsigned long long int max_record_put_interval; | ||
149 | |||
148 | static unsigned long long int dht_max_update_interval; | 150 | static unsigned long long int dht_max_update_interval; |
149 | 151 | ||
150 | /* dht update interval FIXME define? */ | 152 | /* dht update interval FIXME define? */ |
151 | static struct GNUNET_TIME_Relative dht_update_interval; | 153 | static struct GNUNET_TIME_Relative record_put_interval; |
152 | 154 | ||
153 | /* zone update task */ | 155 | /* zone update task */ |
154 | GNUNET_SCHEDULER_TaskIdentifier zone_update_taskid = GNUNET_SCHEDULER_NO_TASK; | 156 | GNUNET_SCHEDULER_TaskIdentifier zone_update_taskid = GNUNET_SCHEDULER_NO_TASK; |
@@ -349,7 +351,7 @@ put_gns_record(void *cls, | |||
349 | /** | 351 | /** |
350 | * Reschedule periodic put | 352 | * Reschedule periodic put |
351 | */ | 353 | */ |
352 | zone_update_taskid = GNUNET_SCHEDULER_add_delayed (dht_update_interval, | 354 | zone_update_taskid = GNUNET_SCHEDULER_add_delayed (record_put_interval, |
353 | &update_zone_dht_next, | 355 | &update_zone_dht_next, |
354 | NULL); | 356 | NULL); |
355 | 357 | ||
@@ -367,24 +369,32 @@ static void | |||
367 | update_zone_dht_start(void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 369 | update_zone_dht_start(void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
368 | { | 370 | { |
369 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Scheduling DHT zone update!\n"); | 371 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Scheduling DHT zone update!\n"); |
372 | |||
373 | unsigned long long int interval = 0; | ||
374 | |||
370 | if (0 == num_public_records) | 375 | if (0 == num_public_records) |
371 | { | 376 | { |
372 | dht_update_interval = GNUNET_TIME_relative_multiply( | 377 | /** |
378 | * If no records are known (startup) or none present | ||
379 | * we can safely set the interval to 1s | ||
380 | */ | ||
381 | record_put_interval = GNUNET_TIME_relative_multiply( | ||
373 | GNUNET_TIME_UNIT_SECONDS, | 382 | GNUNET_TIME_UNIT_SECONDS, |
374 | dht_max_update_interval); | 383 | 1); |
375 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | 384 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, |
376 | "No records in db. Adjusted DHT update interval to %ds\n", | 385 | "No records in db. Adjusted record put interval to 1s\n"); |
377 | dht_max_update_interval); | ||
378 | } | 386 | } |
379 | else | 387 | else |
380 | { | 388 | { |
381 | 389 | interval = max_record_put_interval/num_public_records; | |
382 | dht_update_interval = GNUNET_TIME_relative_multiply( | 390 | if (interval == 0) |
391 | interval = 1; | ||
392 | record_put_interval = GNUNET_TIME_relative_multiply( | ||
383 | GNUNET_TIME_UNIT_SECONDS, | 393 | GNUNET_TIME_UNIT_SECONDS, |
384 | (dht_max_update_interval/num_public_records)); | 394 | interval); |
385 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, | 395 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, |
386 | "Adjusted DHT update interval to %ds!\n", | 396 | "Adjusted DHT update interval to %ds!\n", |
387 | (dht_max_update_interval/num_public_records)); | 397 | interval); |
388 | } | 398 | } |
389 | 399 | ||
390 | /* start counting again */ | 400 | /* start counting again */ |
@@ -859,16 +869,28 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, | |||
859 | 869 | ||
860 | if (GNUNET_OK == | 870 | if (GNUNET_OK == |
861 | GNUNET_CONFIGURATION_get_value_number (c, "gns", | 871 | GNUNET_CONFIGURATION_get_value_number (c, "gns", |
862 | "DHT_MAX_UPDATE_INTERVAL", | 872 | "ZONE_PUT_INTERVAL", |
863 | &dht_max_update_interval)) | 873 | &dht_max_update_interval)) |
864 | { | 874 | { |
865 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, | 875 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, |
866 | "DHT zone update interval: %d\n", | 876 | "DHT zone update interval: %d\n", |
867 | dht_max_update_interval); | 877 | dht_max_update_interval); |
868 | } | 878 | } |
879 | |||
880 | max_record_put_interval = 1; | ||
869 | 881 | ||
870 | if (GNUNET_OK == | 882 | if (GNUNET_OK == |
871 | GNUNET_CONFIGURATION_get_value_number (c, "gns", | 883 | GNUNET_CONFIGURATION_get_value_number (c, "gns", |
884 | "RECORD_PUT_INTERVAL", | ||
885 | &max_record_put_interval)) | ||
886 | { | ||
887 | GNUNET_log(GNUNET_ERROR_TYPE_INFO, | ||
888 | "Record put interval: %d\n", | ||
889 | max_record_put_interval); | ||
890 | } | ||
891 | |||
892 | if (GNUNET_OK == | ||
893 | GNUNET_CONFIGURATION_get_value_number (c, "gns", | ||
872 | "MAX_PARALLEL_BACKGROUND_QUERIES", | 894 | "MAX_PARALLEL_BACKGROUND_QUERIES", |
873 | &max_parallel_bg_queries)) | 895 | &max_parallel_bg_queries)) |
874 | { | 896 | { |
@@ -939,7 +961,7 @@ run (void *cls, struct GNUNET_SERVER_Handle *server, | |||
939 | * for our records | 961 | * for our records |
940 | * We have roughly an hour for all records; | 962 | * We have roughly an hour for all records; |
941 | */ | 963 | */ |
942 | dht_update_interval = GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, | 964 | record_put_interval = GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, |
943 | 1); | 965 | 1); |
944 | zone_update_taskid = GNUNET_SCHEDULER_add_now (&update_zone_dht_start, NULL); | 966 | zone_update_taskid = GNUNET_SCHEDULER_add_now (&update_zone_dht_start, NULL); |
945 | 967 | ||
diff --git a/src/gns/test_gns_simple_lookup.conf b/src/gns/test_gns_simple_lookup.conf index 19ab65efe..52de23e40 100644 --- a/src/gns/test_gns_simple_lookup.conf +++ b/src/gns/test_gns_simple_lookup.conf | |||
@@ -84,6 +84,8 @@ CONFIG = $DEFAULTCONFIG | |||
84 | AUTO_IMPORT_PKEY = YES | 84 | AUTO_IMPORT_PKEY = YES |
85 | MAX_PARALLEL_BACKGROUND_QUERIES = 10 | 85 | MAX_PARALLEL_BACKGROUND_QUERIES = 10 |
86 | DEFAULT_LOOKUP_TIMEOUT = 5 | 86 | DEFAULT_LOOKUP_TIMEOUT = 5 |
87 | RECORD_PUT_INTERVAL = 1 | ||
88 | ZONE_PUT_INTERVAL = 5 | ||
87 | 89 | ||
88 | [nse] | 90 | [nse] |
89 | AUTOSTART = NO | 91 | AUTOSTART = NO |