From 4c281c84a30b4b6c800451e452abec2bf9626634 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 17 Nov 2011 14:54:42 +0000 Subject: consider number of retransmissions for delay calculation --- src/fragmentation/fragmentation.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/fragmentation/fragmentation.c') diff --git a/src/fragmentation/fragmentation.c b/src/fragmentation/fragmentation.c index 3d8fc50bc..522084048 100644 --- a/src/fragmentation/fragmentation.c +++ b/src/fragmentation/fragmentation.c @@ -205,14 +205,14 @@ transmit_next (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) if (wrap) { /* full round transmitted wait 2x delay for ACK before going again */ + fc->num_rounds++; delay = GNUNET_TIME_relative_max (GNUNET_TIME_relative_multiply (delay, 2), - fc->delay); + GNUNET_TIME_relative_multiply (fc->delay, fc->num_rounds); /* never use zero, need some time for ACK always */ delay = GNUNET_TIME_relative_max (GNUNET_TIME_UNIT_MILLISECONDS, delay); fc->last_round = GNUNET_TIME_absolute_get (); fc->wack = GNUNET_YES; - fc->num_rounds++; } fc->proc_busy = GNUNET_YES; fc->delay_until = GNUNET_TIME_relative_to_absolute (delay); -- cgit v1.2.3