gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r29062 - in gnunet/src: consensus include set


From: gnunet
Subject: [GNUnet-SVN] r29062 - in gnunet/src: consensus include set
Date: Fri, 6 Sep 2013 13:37:39 +0200

Author: dold
Date: 2013-09-06 13:37:39 +0200 (Fri, 06 Sep 2013)
New Revision: 29062

Modified:
   gnunet/src/consensus/consensus_api.c
   gnunet/src/consensus/gnunet-service-consensus.c
   gnunet/src/consensus/test_consensus_api.c
   gnunet/src/include/gnunet_consensus_service.h
   gnunet/src/set/test_set_api.c
Log:
- initialize set type in test case
- handle 1-peer consensus correcly
- don't store peers in consensus api
- updated consensus test case


Modified: gnunet/src/consensus/consensus_api.c
===================================================================
--- gnunet/src/consensus/consensus_api.c        2013-09-06 11:32:51 UTC (rev 
29061)
+++ gnunet/src/consensus/consensus_api.c        2013-09-06 11:37:39 UTC (rev 
29062)
@@ -65,16 +65,6 @@
   struct GNUNET_HashCode session_id;
 
   /**
-   * Number of peers in the consensus. Optionally includes the local peer.
-   */
-  int num_peers;
-
-  /**
-   * Peer identities of peers participating in the consensus, includes the 
local peer.
-   */
-  struct GNUNET_PeerIdentity **peers;
-
-  /**
    * GNUNES_YES iff the join message has been sent to the service.
    */
   int joined;
@@ -194,15 +184,7 @@
   consensus->cfg = cfg;
   consensus->new_element_cb = new_element_cb;
   consensus->new_element_cls = new_element_cls;
-  consensus->num_peers = num_peers;
   consensus->session_id = *session_id;
-
-  if (0 == num_peers)
-    consensus->peers = NULL;
-  else if (num_peers > 0)
-    consensus->peers =
-        GNUNET_memdup (peers, num_peers * sizeof (struct GNUNET_PeerIdentity));
-
   consensus->client = GNUNET_CLIENT_connect ("consensus", cfg);
   consensus->mq = GNUNET_MQ_queue_for_connection_client (consensus->client,
                                                          mq_handlers, NULL, 
consensus);
@@ -214,10 +196,10 @@
                             GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN);
 
   join_msg->session_id = consensus->session_id;
-  join_msg->num_peers = htonl (consensus->num_peers);
+  join_msg->num_peers = htonl (num_peers);
   memcpy(&join_msg[1],
-        consensus->peers,
-        consensus->num_peers * sizeof (struct GNUNET_PeerIdentity));
+        peers,
+        num_peers * sizeof (struct GNUNET_PeerIdentity));
 
   GNUNET_MQ_send (consensus->mq, ev);
   return consensus;
@@ -318,8 +300,6 @@
     GNUNET_CLIENT_disconnect (consensus->client);
     consensus->client = NULL;
   }
-  if (NULL != consensus->peers)
-    GNUNET_free (consensus->peers);
   GNUNET_free (consensus);
 }
 

Modified: gnunet/src/consensus/gnunet-service-consensus.c
===================================================================
--- gnunet/src/consensus/gnunet-service-consensus.c     2013-09-06 11:32:51 UTC 
(rev 29061)
+++ gnunet/src/consensus/gnunet-service-consensus.c     2013-09-06 11:37:39 UTC 
(rev 29062)
@@ -1187,8 +1187,8 @@
   }
   if (session->num_peers <= 1)
   {
-    /* FIXME: what to do here? */
-    //send_client_conclude_done (session);
+    session->current_round = CONSENSUS_ROUND_FINISH;
+    GNUNET_SET_iterate (session->element_set, send_to_client_iter, session);
   }
   else
   {

Modified: gnunet/src/consensus/test_consensus_api.c
===================================================================
--- gnunet/src/consensus/test_consensus_api.c   2013-09-06 11:32:51 UTC (rev 
29061)
+++ gnunet/src/consensus/test_consensus_api.c   2013-09-06 11:37:39 UTC (rev 
29062)
@@ -32,26 +32,23 @@
 
 static struct GNUNET_HashCode session_id;
 
+static unsigned int elements_received;
 
-static int
-conclude_done (void *cls, const struct GNUNET_CONSENSUS_Group *group)
+
+static void
+conclude_done (void *cls)
 {
-  if (NULL == group)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_INFO, "conclude over\n");
-    GNUNET_SCHEDULER_shutdown ();
-    return GNUNET_NO;
-  }
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "concluded\n");
-  return GNUNET_YES;
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "conclude over\n");
+  if (2 != elements_received)
+    GNUNET_abort ();
+  GNUNET_SCHEDULER_shutdown ();
 }
 
-static int
+static void
 on_new_element (void *cls,
-                struct GNUNET_CONSENSUS_Element *element)
+                const struct GNUNET_SET_Element *element)
 {
-  GNUNET_assert (0);
-  return GNUNET_YES;
+  elements_received++;
 }
 
 static void
@@ -62,7 +59,7 @@
   GNUNET_assert (GNUNET_NO == called);
   called = GNUNET_YES;
   GNUNET_log (GNUNET_ERROR_TYPE_INFO, "insert done\n");
-  GNUNET_CONSENSUS_conclude (consensus, GNUNET_TIME_UNIT_SECONDS, 0, 
&conclude_done, NULL);
+  GNUNET_CONSENSUS_conclude (consensus, GNUNET_TIME_UNIT_SECONDS, 
&conclude_done, NULL);
 }
 
 
@@ -91,8 +88,8 @@
 {
   char *str = "foo";
 
-  struct GNUNET_CONSENSUS_Element el1 = {"foo", 4, 0};
-  struct GNUNET_CONSENSUS_Element el2 = {"bar", 4, 0};
+  struct GNUNET_SET_Element el1 = {4, 0, "foo"};
+  struct GNUNET_SET_Element el2 = {5, 0, "quux"};
 
   GNUNET_log_setup ("test_consensus_api",
                     "INFO",

Modified: gnunet/src/include/gnunet_consensus_service.h
===================================================================
--- gnunet/src/include/gnunet_consensus_service.h       2013-09-06 11:32:51 UTC 
(rev 29061)
+++ gnunet/src/include/gnunet_consensus_service.h       2013-09-06 11:37:39 UTC 
(rev 29062)
@@ -52,7 +52,7 @@
  * @param element new element, NULL on error
  */
 typedef void (*GNUNET_CONSENSUS_ElementCallback) (void *cls,
-                                                 const struct 
GNUNET_SET_Element *element);
+                                                  const struct 
GNUNET_SET_Element *element);
 
 
 

Modified: gnunet/src/set/test_set_api.c
===================================================================
--- gnunet/src/set/test_set_api.c       2013-09-06 11:32:51 UTC (rev 29061)
+++ gnunet/src/set/test_set_api.c       2013-09-06 11:37:39 UTC (rev 29062)
@@ -136,9 +136,10 @@
 {
   struct GNUNET_SET_Element element;
 
-
   GNUNET_log (GNUNET_ERROR_TYPE_INFO, "initializing set 2\n");
 
+  element.type = 0;
+
   element.data = "hello";
   element.size = strlen(element.data);
   GNUNET_SET_add_element (set2, &element, NULL, NULL);
@@ -159,6 +160,8 @@
 {
   struct GNUNET_SET_Element element;
 
+  element.type = 0;
+
   element.data = "hello";
   element.size = strlen(element.data);
   GNUNET_SET_add_element (set1, &element, NULL, NULL);




reply via email to

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