gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r31541 - gnunet/src/set


From: gnunet
Subject: [GNUnet-SVN] r31541 - gnunet/src/set
Date: Wed, 18 Dec 2013 17:14:49 +0100

Author: cfuchs
Date: 2013-12-18 17:14:49 +0100 (Wed, 18 Dec 2013)
New Revision: 31541

Modified:
   gnunet/src/set/gnunet-service-set_intersection.c
Log:
- added early success for fully disjoint intersection sets
- some minor bugfixing

Modified: gnunet/src/set/gnunet-service-set_intersection.c
===================================================================
--- gnunet/src/set/gnunet-service-set_intersection.c    2013-12-18 15:39:21 UTC 
(rev 31540)
+++ gnunet/src/set/gnunet-service-set_intersection.c    2013-12-18 16:14:49 UTC 
(rev 31541)
@@ -582,9 +582,10 @@
   GNUNET_CONTAINER_bloomfilter_free (op->state->remote_bf);
   op->state->remote_bf = NULL;
 
-  if ((op->state->phase == PHASE_MAYBE_FINISHED)
-       && (old_elements == op->state->my_element_count)
-       && (op->state->my_element_count == peer_elements)){
+  if ((0 == op->state->my_element_count) // fully disjoint
+      || ((op->state->phase == PHASE_MAYBE_FINISHED) // we agree on a shared 
set of elements
+          && (old_elements == op->state->my_element_count)
+          && (op->state->my_element_count == peer_elements))) {
     // In the last round we though we were finished, we now know this is 
correct
     send_peer_done (op);
     return;
@@ -627,7 +628,7 @@
   
   memcpy (&op->state->bf_data[chunk_offset], (const char*) &msg[1], 
chunk_size);
 
-  if (op->state->bf_data_size > chunk_size + chunk_offset)
+  if (op->state->bf_data_size != chunk_offset + chunk_size)
     // wait for next chunk
     return;
 




reply via email to

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