[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r15423 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r15423 - gnunet/src/transport |
Date: |
Sun, 5 Jun 2011 14:31:10 +0200 |
Author: grothoff
Date: 2011-06-05 14:31:10 +0200 (Sun, 05 Jun 2011)
New Revision: 15423
Modified:
gnunet/src/transport/transport_api_new.c
Log:
fix
Modified: gnunet/src/transport/transport_api_new.c
===================================================================
--- gnunet/src/transport/transport_api_new.c 2011-06-05 12:04:01 UTC (rev
15422)
+++ gnunet/src/transport/transport_api_new.c 2011-06-05 12:31:10 UTC (rev
15423)
@@ -625,6 +625,7 @@
struct GNUNET_TRANSPORT_TransmitHandle *th;
struct Neighbour *n;
char *cbuf;
+ struct GNUNET_TIME_Relative delay;
struct OutboundMessage obm;
size_t ret;
size_t nret;
@@ -676,7 +677,15 @@
}
th = n->th;
if (th->notify_size + sizeof (struct OutboundMessage) > size)
- break; /* does not fit */
+ {
+ delay = GNUNET_BANDWIDTH_tracker_get_delay (&n->out_tracker, size);
+ if (delay.rel_value > GNUNET_TIME_absolute_get_remaining
(n->th->timeout).rel_value)
+ delay.rel_value = 0; /* notify immediately (with failure) */
+ n->hn = GNUNET_CONTAINER_heap_insert (h->ready_heap,
+ n,
+ delay.rel_value);
+ break; /* does not fit */
+ }
n->th = NULL;
n->is_ready = GNUNET_NO;
GNUNET_assert (size >= sizeof (struct OutboundMessage));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r15423 - gnunet/src/transport,
gnunet <=