- delay = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS,
- mig_size);
- delay = GNUNET_TIME_relative_divide (delay,
- MAX_MIGRATION_QUEUE);
- delay = GNUNET_TIME_relative_max (delay,
- min_migration_delay);
- mig_task = GNUNET_SCHEDULER_add_delayed (delay,
- &gather_migration_blocks,
- NULL);
+ delay = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, mig_size);
+ delay = GNUNET_TIME_relative_divide (delay, MAX_MIGRATION_QUEUE);
+ delay = GNUNET_TIME_relative_max (delay, min_migration_delay);
+ if (GNUNET_NO == value_found)
+ {
+ /* wait at least 5s if the datastore is empty */
+ delay = GNUNET_TIME_relative_max (delay,
+ GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS,
+ 5));
+ }
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Scheduling gathering task (queue size: %u)\n",
+ mig_size);
+ mig_task =
+ GNUNET_SCHEDULER_add_delayed (delay, &gather_migration_blocks, NULL);