aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Schanzenbach <mschanzenbach@posteo.de>2012-04-10 15:46:01 +0000
committerMartin Schanzenbach <mschanzenbach@posteo.de>2012-04-10 15:46:01 +0000
commit891caa55483a7f889f603f56e9ffe96ad975d7e5 (patch)
tree5a10a268cc083754c8bdbd644a28f3c71578efb6 /src
parent562a20129f7e3eb01bdae830d619f9a22bb81286 (diff)
downloadgnunet-891caa55483a7f889f603f56e9ffe96ad975d7e5.tar.gz
gnunet-891caa55483a7f889f603f56e9ffe96ad975d7e5.zip
-renamed config options, tuned periodic puts
Diffstat (limited to 'src')
-rw-r--r--src/gns/gns.conf.in2
-rw-r--r--src/gns/gnunet-service-gns.c48
-rw-r--r--src/gns/test_gns_simple_lookup.conf2
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
11AUTO_IMPORT_CONFIRMATION_REQ = NO 11AUTO_IMPORT_CONFIRMATION_REQ = NO
12MAX_PARALLEL_BACKGROUND_QUERIES = 25 12MAX_PARALLEL_BACKGROUND_QUERIES = 25
13DEFAULT_LOOKUP_TIMEOUT = 10 13DEFAULT_LOOKUP_TIMEOUT = 10
14RECORD_PUT_INTERVAL = 60
15ZONE_PUT_INTERVAL = 900
14 16
15[fcfsd] 17[fcfsd]
16HTTPPORT = 18080 18HTTPPORT = 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 */
143static int num_public_records = 3600; 143static int num_public_records = 0;
144 144
145/** 145/**
146 * update interval in seconds 146 * update interval in seconds
147 */ 147 */
148static unsigned long long int max_record_put_interval;
149
148static unsigned long long int dht_max_update_interval; 150static unsigned long long int dht_max_update_interval;
149 151
150/* dht update interval FIXME define? */ 152/* dht update interval FIXME define? */
151static struct GNUNET_TIME_Relative dht_update_interval; 153static struct GNUNET_TIME_Relative record_put_interval;
152 154
153/* zone update task */ 155/* zone update task */
154GNUNET_SCHEDULER_TaskIdentifier zone_update_taskid = GNUNET_SCHEDULER_NO_TASK; 156GNUNET_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
367update_zone_dht_start(void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 369update_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
84AUTO_IMPORT_PKEY = YES 84AUTO_IMPORT_PKEY = YES
85MAX_PARALLEL_BACKGROUND_QUERIES = 10 85MAX_PARALLEL_BACKGROUND_QUERIES = 10
86DEFAULT_LOOKUP_TIMEOUT = 5 86DEFAULT_LOOKUP_TIMEOUT = 5
87RECORD_PUT_INTERVAL = 1
88ZONE_PUT_INTERVAL = 5
87 89
88[nse] 90[nse]
89AUTOSTART = NO 91AUTOSTART = NO