gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r28071 - gnunet/src/mesh


From: gnunet
Subject: [GNUnet-SVN] r28071 - gnunet/src/mesh
Date: Tue, 16 Jul 2013 01:34:07 +0200

Author: bartpolot
Date: 2013-07-16 01:34:07 +0200 (Tue, 16 Jul 2013)
New Revision: 28071

Modified:
   gnunet/src/mesh/gnunet-service-mesh.c
Log:
- unchoke client after 64 messages hace been ACK'd

Modified: gnunet/src/mesh/gnunet-service-mesh.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh.c       2013-07-15 23:00:42 UTC (rev 
28070)
+++ gnunet/src/mesh/gnunet-service-mesh.c       2013-07-15 23:34:07 UTC (rev 
28071)
@@ -2187,9 +2187,10 @@
       if (GNUNET_YES == t->reliable && NULL != c)
         tunnel_send_data_ack (t, fwd);
       break;
+    case GNUNET_MESSAGE_TYPE_MESH_UNICAST_ACK:
+    case GNUNET_MESSAGE_TYPE_MESH_TO_ORIG_ACK:
     case GNUNET_MESSAGE_TYPE_MESH_ACK:
     case GNUNET_MESSAGE_TYPE_MESH_LOCAL_ACK:
-    case GNUNET_MESSAGE_TYPE_MESH_UNICAST_ACK:
       break;
     case GNUNET_MESSAGE_TYPE_MESH_POLL:
     case GNUNET_MESSAGE_TYPE_MESH_PATH_ACK:
@@ -4136,7 +4137,6 @@
       return GNUNET_OK;
     }
     rel = t->fwd_rel;
-    tunnel_send_ack (t, GNUNET_MESSAGE_TYPE_MESH_UNICAST, GNUNET_YES);
   }
   else if (t->prev_hop == id && GNUNET_MESSAGE_TYPE_MESH_TO_ORIG_ACK == type)
   {
@@ -4147,7 +4147,6 @@
       return GNUNET_OK;
     }
     rel = t->bck_rel;
-    tunnel_send_ack (t, GNUNET_MESSAGE_TYPE_MESH_TO_ORIGIN, GNUNET_NO);
   }
   else
   {
@@ -4169,7 +4168,10 @@
     next = copy->next;
     tunnel_free_reliable_message (copy);
   }
+  /* Once buffers have been free'd, send ACK */
+  tunnel_send_ack (t, type, GNUNET_MESSAGE_TYPE_MESH_UNICAST_ACK == type);
 
+  /* If some message was free'd, update the retransmission delay*/
   if (GNUNET_YES == work)
   {
     if (GNUNET_SCHEDULER_NO_TASK != rel->retry_task)
@@ -4197,7 +4199,6 @@
     }
     else
       GNUNET_break (0);
-    tunnel_send_ack (t, GNUNET_MESSAGE_TYPE_MESH_UNICAST_ACK, GNUNET_YES);
   }
   return GNUNET_OK;
 }




reply via email to

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