struct GNUNET_TIME_Relative delta;
unsigned int n;
- if (load->autodecline.value == GNUNET_TIME_UNIT_FOREVER_REL.value)
+ if (load->autodecline.rel_value == GNUNET_TIME_UNIT_FOREVER_REL.rel_value)
return;
delta = GNUNET_TIME_absolute_get_duration (load->last_update);
- if (delta.value < load->autodecline.value)
+ if (delta.rel_value < load->autodecline.rel_value)
return;
- n = delta.value / load->autodecline.value;
+ if (load->autodecline.rel_value == 0)
+ {
+ load->runavg_delay = 0.0;
+ load->load = 0;
+ return;
+ }
+ n = delta.rel_value / load->autodecline.rel_value;
if (n > 16)
{
load->runavg_delay = 0.0;
ret = GNUNET_malloc (sizeof (struct GNUNET_LOAD_Value));
ret->autodecline = autodecline;
- if (ret->autodecline.value == 0)
- ret->autodecline.value = 1;
ret->last_update = GNUNET_TIME_absolute_get ();
return ret;
}
{
internal_update (load);
load->autodecline = autodecline;
- if (load->autodecline.value == 0)
- load->autodecline.value = 1;
}