gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r33690 - gnunet/src/cadet


From: gnunet
Subject: [GNUnet-SVN] r33690 - gnunet/src/cadet
Date: Tue, 17 Jun 2014 14:13:31 +0200

Author: bartpolot
Date: 2014-06-17 14:13:31 +0200 (Tue, 17 Jun 2014)
New Revision: 33690

Modified:
   gnunet/src/cadet/gnunet-service-cadet_tunnel.c
Log:
- limit queued messages on tunnel level when tunnel is not ready

Modified: gnunet/src/cadet/gnunet-service-cadet_tunnel.c
===================================================================
--- gnunet/src/cadet/gnunet-service-cadet_tunnel.c      2014-06-17 12:13:30 UTC 
(rev 33689)
+++ gnunet/src/cadet/gnunet-service-cadet_tunnel.c      2014-06-17 12:13:31 UTC 
(rev 33690)
@@ -896,6 +896,18 @@
 }
 
 
+static unsigned int
+count_queued_data (const struct CadetTunnel *t)
+{
+  struct CadetTunnelDelayed *iter;
+  unsigned int count;
+
+  for (count = 0, iter = t->tq_head; iter != NULL; iter = iter->next)
+    count++;
+
+  return count;
+}
+
 /**
  * Delete a queued message: either was sent or the channel was destroyed
  * before the tunnel's key exchange had a chance to finish.
@@ -2651,6 +2663,14 @@
   struct CadetTConnection *iter;
   unsigned int buffer;
 
+  if (GNUNET_NO == is_ready (t))
+  {
+    if (count_queued_data (t) > 3)
+      return 0;
+    else
+      return 1;
+  }
+
   buffer = 0;
   for (iter = t->connection_head; NULL != iter; iter = iter->next)
   {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]