- case GNUNET_FS_QUEUE_PRIORITY_PROBE:
- /* run probes for at most 1s * number-of-restarts; note that
- as the total runtime of a probe is limited to 2m, we don't
- need to additionally limit the total time of a probe to
- strictly limit its lifetime. */
- run_time = GNUNET_TIME_relative_min (run_time,
- GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS,
- 1 + qe->start_times));
- end_time = GNUNET_TIME_absolute_add (qe->start_time, run_time);
- rst = GNUNET_TIME_absolute_get_remaining (end_time);
- restart_at = GNUNET_TIME_relative_min (rst, restart_at);
- if ( (num_probes_change < 0) &&
- ( (num_probes_expired < - num_probes_change) ||
- (0 == rst.rel_value) ) )
- {
- stop_job (qe);
- num_probes_change++;
- if (0 == rst.rel_value)
- num_probes_expired--;
- }
- break;
- case GNUNET_FS_QUEUE_PRIORITY_NORMAL:
- end_time = GNUNET_TIME_absolute_add (qe->start_time, run_time);
- rst = GNUNET_TIME_absolute_get_remaining (end_time);
- restart_at = GNUNET_TIME_relative_min (rst, restart_at);
- if ( (num_downloads_change < 0) &&
- ( (num_downloads_expired < - num_downloads_change) ||
- (0 == rst.rel_value) ) )
- {
- stop_job (qe);
- num_downloads_change++;
- if (0 == rst.rel_value)
- num_downloads_expired--;
- }
- break;
- default:
- GNUNET_break (0);
- break;