#if DEBUG_BANDWIDTH
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Bandwidth has %llu bytes available until deadline in %llums\n",
- (unsigned long long) (b * deadline.value / 1000LL),
+ (unsigned long long) ((b * deadline.value + 500LL) / 1000LL),
deadline.value);
#endif
- return b * deadline.value / 1000LL;
+ return (b * deadline.value + 500LL) / 1000LL;
}
now = GNUNET_TIME_absolute_get ();
delta_time = now.value - av->last_update__.value;
- delta_avail = (delta_time * ((unsigned long long) av->available_bytes_per_s__)) / 1000LL;
+ delta_avail = (delta_time * ((unsigned long long) av->available_bytes_per_s__) + 500LL) / 1000LL;
if (av->consumption_since_last_update__ >= delta_avail)
{
av->consumption_since_last_update__ -= delta_avail;
else
{
left_bytes = delta_avail - av->consumption_since_last_update__;
- avail_per_ms = ((unsigned long long) av->available_bytes_per_s__) / 1000LL;
+ avail_per_ms = ((unsigned long long) av->available_bytes_per_s__ + 500LL) / 1000LL;
if (avail_per_ms > 0)
{
left_time_ms = left_bytes / avail_per_ms;
}
else
{
- av->last_update__.value -= (size * av->available_bytes_per_s__) / 1000LL;
+ av->last_update__.value -= (size * av->available_bytes_per_s__ + 500LL) / 1000LL;
update_tracker (av);
}
return GNUNET_NO;
update_tracker (av);
now = GNUNET_TIME_absolute_get ();
delta_time = now.value - av->last_update__.value;
- delta_avail = (delta_time * ((unsigned long long) av->available_bytes_per_s__)) / 1000LL;
+ delta_avail = (delta_time * ((unsigned long long) av->available_bytes_per_s__) + 500LL) / 1000LL;
if (delta_avail >= size)
{
#if DEBUG_BANDWIDTH