diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-10-22 12:54:07 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-10-22 12:54:07 +0000 |
commit | 35cd0261f6bb35c671ce7664a9c42cade98b259f (patch) | |
tree | 360f209bf05a43be38be3d21aa5192967d495037 /src/fragmentation | |
parent | ddd69826be47a1956c6972c2cfcadfa7902b8639 (diff) | |
download | gnunet-35cd0261f6bb35c671ce7664a9c42cade98b259f.tar.gz gnunet-35cd0261f6bb35c671ce7664a9c42cade98b259f.zip |
-fixing frag
Diffstat (limited to 'src/fragmentation')
-rw-r--r-- | src/fragmentation/fragmentation.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/fragmentation/fragmentation.c b/src/fragmentation/fragmentation.c index 19f7ff175..3924fc41f 100644 --- a/src/fragmentation/fragmentation.c +++ b/src/fragmentation/fragmentation.c | |||
@@ -228,9 +228,7 @@ transmit_next (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
228 | { | 228 | { |
229 | /* full round transmitted wait 2x delay for ACK before going again */ | 229 | /* full round transmitted wait 2x delay for ACK before going again */ |
230 | fc->num_rounds++; | 230 | fc->num_rounds++; |
231 | delay = GNUNET_TIME_relative_multiply (delay, 2); | 231 | delay = GNUNET_TIME_relative_multiply (fc->ack_delay, 2); |
232 | fc->msg_delay = GNUNET_TIME_relative_multiply (fc->msg_delay, | ||
233 | 2 + (size / (fc->mtu - sizeof (struct FragmentHeader)))); | ||
234 | /* never use zero, need some time for ACK always */ | 232 | /* never use zero, need some time for ACK always */ |
235 | delay = GNUNET_TIME_relative_max (MIN_ACK_DELAY, delay); | 233 | delay = GNUNET_TIME_relative_max (MIN_ACK_DELAY, delay); |
236 | fc->wack = GNUNET_YES; | 234 | fc->wack = GNUNET_YES; |
@@ -353,7 +351,6 @@ GNUNET_FRAGMENT_process_ack (struct GNUNET_FRAGMENT_Context *fc, | |||
353 | unsigned int snd_cnt; | 351 | unsigned int snd_cnt; |
354 | unsigned int i; | 352 | unsigned int i; |
355 | 353 | ||
356 | fprintf (stderr, "Got ACK!\n"); | ||
357 | if (sizeof (struct FragmentAcknowledgement) != ntohs (msg->size)) | 354 | if (sizeof (struct FragmentAcknowledgement) != ntohs (msg->size)) |
358 | { | 355 | { |
359 | GNUNET_break_op (0); | 356 | GNUNET_break_op (0); |
@@ -393,16 +390,15 @@ GNUNET_FRAGMENT_process_ack (struct GNUNET_FRAGMENT_Context *fc, | |||
393 | else if (snd_cnt > ack_cnt) | 390 | else if (snd_cnt > ack_cnt) |
394 | { | 391 | { |
395 | /* some loss, slow down proportionally */ | 392 | /* some loss, slow down proportionally */ |
393 | fprintf (stderr, "Prop loss\n"); | ||
396 | fc->msg_delay.rel_value = ((fc->msg_delay.rel_value * ack_cnt) / snd_cnt); | 394 | fc->msg_delay.rel_value = ((fc->msg_delay.rel_value * ack_cnt) / snd_cnt); |
397 | } | 395 | } |
398 | else if (0 < fc->msg_delay.rel_value) | 396 | else if (0 < fc->msg_delay.rel_value) |
399 | { | 397 | { |
400 | fc->msg_delay.rel_value--; /* try a bit faster */ | 398 | fc->msg_delay.rel_value--; /* try a bit faster */ |
401 | } | 399 | } |
402 | fc->msg_delay = GNUNET_TIME_relative_max (fc->msg_delay, | 400 | fc->msg_delay = GNUNET_TIME_relative_min (fc->msg_delay, |
403 | GNUNET_TIME_UNIT_SECONDS); | 401 | GNUNET_TIME_UNIT_SECONDS); |
404 | fprintf (stderr, "New msg delay: %llu\n", | ||
405 | (unsigned long long )fc->msg_delay.rel_value); | ||
406 | } | 402 | } |
407 | GNUNET_STATISTICS_update (fc->stats, | 403 | GNUNET_STATISTICS_update (fc->stats, |
408 | _("# fragment acknowledgements received"), 1, | 404 | _("# fragment acknowledgements received"), 1, |