gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r32031 - gnunet/src/set
Date: Sun, 26 Jan 2014 17:47:56 +0100

Author: cfuchs
Date: 2014-01-26 17:47:56 +0100 (Sun, 26 Jan 2014)
New Revision: 32031

Modified:
   gnunet/src/set/Makefile.am
   gnunet/src/set/gnunet-service-set.c
   gnunet/src/set/gnunet-service-set_intersection.c
Log:
- activated testcase for set intersection, as it not works correctly
- some bugfixes for intersection
- corrected a logics bug in intersection


Modified: gnunet/src/set/Makefile.am
===================================================================
--- gnunet/src/set/Makefile.am  2014-01-26 13:54:23 UTC (rev 32030)
+++ gnunet/src/set/Makefile.am  2014-01-26 16:47:56 UTC (rev 32031)
@@ -66,7 +66,7 @@
 
 if HAVE_TESTING
 check_PROGRAMS = \
- test_set_api test_set_union_result_full
+ test_set_api test_set_union_result_full test_set_intersection_result_full
 endif
 
 if ENABLE_TEST_RUN
@@ -92,6 +92,15 @@
 test_set_union_result_full_DEPENDENCIES = \
   libgnunetset.la
 
+test_set_intersection_result_full_SOURCES = \
+ test_set_intersection_result_full.c
+test_set_intersection_result_full_LDADD = \
+  $(top_builddir)/src/util/libgnunetutil.la \
+  $(top_builddir)/src/testing/libgnunettesting.la \
+  $(top_builddir)/src/set/libgnunetset.la
+test_set_intersection_result_full_DEPENDENCIES = \
+  libgnunetset.la
+
 EXTRA_DIST = \
   test_set.conf
 

Modified: gnunet/src/set/gnunet-service-set.c
===================================================================
--- gnunet/src/set/gnunet-service-set.c 2014-01-26 13:54:23 UTC (rev 32030)
+++ gnunet/src/set/gnunet-service-set.c 2014-01-26 16:47:56 UTC (rev 32031)
@@ -728,8 +728,7 @@
   switch (ntohs (msg->operation))
   {
   case GNUNET_SET_OPERATION_INTERSECTION:
-    // FIXME: implement intersection vt
-    // set->vt = _GSS_intersection_vt ();
+    set->vt = _GSS_intersection_vt ();
     break;
   case GNUNET_SET_OPERATION_UNION:
     set->vt = _GSS_union_vt ();

Modified: gnunet/src/set/gnunet-service-set_intersection.c
===================================================================
--- gnunet/src/set/gnunet-service-set_intersection.c    2014-01-26 13:54:23 UTC 
(rev 32030)
+++ gnunet/src/set/gnunet-service-set_intersection.c    2014-01-26 16:47:56 UTC 
(rev 32031)
@@ -210,8 +210,8 @@
   struct GNUNET_HashCode mutated_hash;
 
   //only consider this element, if it is valid for us
-  if ((op->generation_created >= ee->generation_removed)
-       || (op->generation_created < ee->generation_added))
+  if ((op->generation_created < ee->generation_removed)
+       && (op->generation_created >= ee->generation_added))
     return GNUNET_YES;
 
   // not contained according to bob's bloomfilter
@@ -254,8 +254,8 @@
   struct Operation *op = cls;
 
   //only consider this element, if it is valid for us
-  if ((op->generation_created >= ee->generation_removed)
-       || (op->generation_created < ee->generation_added))
+  if ((op->generation_created < ee->generation_removed)
+       && (op->generation_created >= ee->generation_added))
     return GNUNET_YES;
 
   GNUNET_assert (GNUNET_YES ==
@@ -456,7 +456,7 @@
                                                 bf_elementbits);
 
   op->spec->salt++;
-  GNUNET_CONTAINER_multihashmap_iterate (op->spec->set->elements,
+  GNUNET_CONTAINER_multihashmap_iterate (op->state->my_elements,
                                          &iterator_bf_create,
                                          op);
 
@@ -602,7 +602,7 @@
   case PHASE_BF_EXCHANGE:
   case PHASE_MAYBE_FINISHED:
     // if we are bob or alice and are continuing operation
-    GNUNET_CONTAINER_multihashmap_iterate (op->spec->set->elements,
+    GNUNET_CONTAINER_multihashmap_iterate (op->state->my_elements,
                                            &iterator_bf_reduce,
                                            op);
     break;
@@ -919,7 +919,6 @@
 intersection_add (struct SetState *set_state,
                   struct ElementEntry *ee)
 {
-  GNUNET_assert(0 < set_state->current_set_element_count);
   set_state->current_set_element_count++;
 }
 




reply via email to

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