aboutsummaryrefslogtreecommitdiff
path: root/src/consensus/consensus_api.c
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2013-09-06 11:37:39 +0000
committerFlorian Dold <florian.dold@gmail.com>2013-09-06 11:37:39 +0000
commite81bbc8f2131c4ad7f7d27b4060694efefbdd13d (patch)
tree30459e4c0748662b45aeeb3a47974196b858a556 /src/consensus/consensus_api.c
parent831dc785eccaa364ff00ff8e2f46372578b4f74b (diff)
downloadgnunet-e81bbc8f2131c4ad7f7d27b4060694efefbdd13d.tar.gz
gnunet-e81bbc8f2131c4ad7f7d27b4060694efefbdd13d.zip
- initialize set type in test case
- handle 1-peer consensus correcly - don't store peers in consensus api - updated consensus test case
Diffstat (limited to 'src/consensus/consensus_api.c')
-rw-r--r--src/consensus/consensus_api.c26
1 files changed, 3 insertions, 23 deletions
diff --git a/src/consensus/consensus_api.c b/src/consensus/consensus_api.c
index 873e72ca1..b2b3694d6 100644
--- a/src/consensus/consensus_api.c
+++ b/src/consensus/consensus_api.c
@@ -65,16 +65,6 @@ struct GNUNET_CONSENSUS_Handle
65 struct GNUNET_HashCode session_id; 65 struct GNUNET_HashCode session_id;
66 66
67 /** 67 /**
68 * Number of peers in the consensus. Optionally includes the local peer.
69 */
70 int num_peers;
71
72 /**
73 * Peer identities of peers participating in the consensus, includes the local peer.
74 */
75 struct GNUNET_PeerIdentity **peers;
76
77 /**
78 * GNUNES_YES iff the join message has been sent to the service. 68 * GNUNES_YES iff the join message has been sent to the service.
79 */ 69 */
80 int joined; 70 int joined;
@@ -194,15 +184,7 @@ GNUNET_CONSENSUS_create (const struct GNUNET_CONFIGURATION_Handle *cfg,
194 consensus->cfg = cfg; 184 consensus->cfg = cfg;
195 consensus->new_element_cb = new_element_cb; 185 consensus->new_element_cb = new_element_cb;
196 consensus->new_element_cls = new_element_cls; 186 consensus->new_element_cls = new_element_cls;
197 consensus->num_peers = num_peers;
198 consensus->session_id = *session_id; 187 consensus->session_id = *session_id;
199
200 if (0 == num_peers)
201 consensus->peers = NULL;
202 else if (num_peers > 0)
203 consensus->peers =
204 GNUNET_memdup (peers, num_peers * sizeof (struct GNUNET_PeerIdentity));
205
206 consensus->client = GNUNET_CLIENT_connect ("consensus", cfg); 188 consensus->client = GNUNET_CLIENT_connect ("consensus", cfg);
207 consensus->mq = GNUNET_MQ_queue_for_connection_client (consensus->client, 189 consensus->mq = GNUNET_MQ_queue_for_connection_client (consensus->client,
208 mq_handlers, NULL, consensus); 190 mq_handlers, NULL, consensus);
@@ -214,10 +196,10 @@ GNUNET_CONSENSUS_create (const struct GNUNET_CONFIGURATION_Handle *cfg,
214 GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN); 196 GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_JOIN);
215 197
216 join_msg->session_id = consensus->session_id; 198 join_msg->session_id = consensus->session_id;
217 join_msg->num_peers = htonl (consensus->num_peers); 199 join_msg->num_peers = htonl (num_peers);
218 memcpy(&join_msg[1], 200 memcpy(&join_msg[1],
219 consensus->peers, 201 peers,
220 consensus->num_peers * sizeof (struct GNUNET_PeerIdentity)); 202 num_peers * sizeof (struct GNUNET_PeerIdentity));
221 203
222 GNUNET_MQ_send (consensus->mq, ev); 204 GNUNET_MQ_send (consensus->mq, ev);
223 return consensus; 205 return consensus;
@@ -318,8 +300,6 @@ GNUNET_CONSENSUS_destroy (struct GNUNET_CONSENSUS_Handle *consensus)
318 GNUNET_CLIENT_disconnect (consensus->client); 300 GNUNET_CLIENT_disconnect (consensus->client);
319 consensus->client = NULL; 301 consensus->client = NULL;
320 } 302 }
321 if (NULL != consensus->peers)
322 GNUNET_free (consensus->peers);
323 GNUNET_free (consensus); 303 GNUNET_free (consensus);
324} 304}
325 305