gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r38170 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r38170 - gnunet/src/util
Date: Fri, 21 Oct 2016 07:13:17 +0200

Author: grothoff
Date: 2016-10-21 07:13:17 +0200 (Fri, 21 Oct 2016)
New Revision: 38170

Modified:
   gnunet/src/util/client_new.c
   gnunet/src/util/service_new.c
Log:
use new MQ in_flight API to support cancel in new service/client implementations

Modified: gnunet/src/util/client_new.c
===================================================================
--- gnunet/src/util/client_new.c        2016-10-18 11:28:23 UTC (rev 38169)
+++ gnunet/src/util/client_new.c        2016-10-21 05:13:17 UTC (rev 38170)
@@ -261,7 +261,7 @@
   }
   if (0 == cstate->msg_off)
   {
-    // FIXME: tell MQ that cancel is no longer possible!
+    GNUNET_MQ_impl_send_in_flight (cstate->mq);
   }
   cstate->msg_off += pos;
   if (cstate->msg_off < len)

Modified: gnunet/src/util/service_new.c
===================================================================
--- gnunet/src/util/service_new.c       2016-10-18 11:28:23 UTC (rev 38169)
+++ gnunet/src/util/service_new.c       2016-10-21 05:13:17 UTC (rev 38170)
@@ -1974,6 +1974,10 @@
       return;
     }
   }
+  if (0 == client->msg_pos)
+  {
+    GNUNET_MQ_impl_send_in_flight (client->mq);
+  }
   client->msg_pos += ret;
   if (left > ret)
   {
@@ -2026,9 +2030,10 @@
 {
   struct GNUNET_SERVICE_Client *client = impl_state;
 
-  GNUNET_assert (0); // not implemented
-  // FIXME: stop transmission! (must be possible, otherwise
-  // we must have told MQ that the message was sent!)
+  GNUNET_assert (0 == client->msg_pos);
+  client->msg = NULL;
+  GNUNET_SCHEDULER_cancel (client->send_task);
+  client->send_task = NULL;
 }
 
 




reply via email to

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