aboutsummaryrefslogtreecommitdiff
path: root/src/consensus
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2014-01-07 00:14:11 +0000
committerFlorian Dold <florian.dold@gmail.com>2014-01-07 00:14:11 +0000
commit6a86f1fc448e219364d547d167d0a655eff2b531 (patch)
tree681e2a680f33f40da4d2235089946a9e4aa0089a /src/consensus
parent4d1b8809fe1df0f2524abc0e65f2f770c88adbdf (diff)
downloadgnunet-6a86f1fc448e219364d547d167d0a655eff2b531.tar.gz
gnunet-6a86f1fc448e219364d547d167d0a655eff2b531.zip
- profiler actually added to svn
- test for signature segfault with secretsharing - rudimentary implementation of cooperative decryption - consensus uses absolute time instead of relative - working DKG without zero knowledge proofs
Diffstat (limited to 'src/consensus')
-rw-r--r--src/consensus/consensus.h9
-rw-r--r--src/consensus/consensus_api.c6
-rw-r--r--src/consensus/gnunet-consensus-profiler.c2
-rw-r--r--src/consensus/gnunet-service-consensus.c4
4 files changed, 12 insertions, 9 deletions
diff --git a/src/consensus/consensus.h b/src/consensus/consensus.h
index f1049e1cd..a752988fd 100644
--- a/src/consensus/consensus.h
+++ b/src/consensus/consensus.h
@@ -56,12 +56,15 @@ struct GNUNET_CONSENSUS_ConcludeMessage
56 */ 56 */
57 struct GNUNET_MessageHeader header; 57 struct GNUNET_MessageHeader header;
58 58
59 // uint32_t reserved GNUNET_PACKED; // FIXME... 59 /**
60 * Padding, must be zero.
61 */
62 uint32_t reserved GNUNET_PACKED;
60 63
61 /** 64 /**
62 * Timeout for conclude 65 * Deadline for conclude
63 */ 66 */
64 struct GNUNET_TIME_RelativeNBO timeout; 67 struct GNUNET_TIME_AbsoluteNBO deadline;
65}; 68};
66 69
67 70
diff --git a/src/consensus/consensus_api.c b/src/consensus/consensus_api.c
index 0a2a7d7ac..14a1bf54e 100644
--- a/src/consensus/consensus_api.c
+++ b/src/consensus/consensus_api.c
@@ -259,14 +259,14 @@ GNUNET_CONSENSUS_insert (struct GNUNET_CONSENSUS_Handle *consensus,
259 * inserted by the client. 259 * inserted by the client.
260 * 260 *
261 * @param consensus consensus session 261 * @param consensus consensus session
262 * @param timeout timeout after which the conculde callback 262 * @param deadline deadline after which the conculde callback
263 * must be called 263 * must be called
264 * @param conclude called when the conclusion was successful 264 * @param conclude called when the conclusion was successful
265 * @param conclude_cls closure for the conclude callback 265 * @param conclude_cls closure for the conclude callback
266 */ 266 */
267void 267void
268GNUNET_CONSENSUS_conclude (struct GNUNET_CONSENSUS_Handle *consensus, 268GNUNET_CONSENSUS_conclude (struct GNUNET_CONSENSUS_Handle *consensus,
269 struct GNUNET_TIME_Relative timeout, 269 struct GNUNET_TIME_Absolute deadline,
270 GNUNET_CONSENSUS_ConcludeCallback conclude, 270 GNUNET_CONSENSUS_ConcludeCallback conclude,
271 void *conclude_cls) 271 void *conclude_cls)
272{ 272{
@@ -280,7 +280,7 @@ GNUNET_CONSENSUS_conclude (struct GNUNET_CONSENSUS_Handle *consensus,
280 consensus->conclude_cb = conclude; 280 consensus->conclude_cb = conclude;
281 281
282 ev = GNUNET_MQ_msg (conclude_msg, GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE); 282 ev = GNUNET_MQ_msg (conclude_msg, GNUNET_MESSAGE_TYPE_CONSENSUS_CLIENT_CONCLUDE);
283 conclude_msg->timeout = GNUNET_TIME_relative_hton (timeout); 283 conclude_msg->deadline = GNUNET_TIME_absolute_hton (deadline);
284 284
285 GNUNET_MQ_send (consensus->mq, ev); 285 GNUNET_MQ_send (consensus->mq, ev);
286} 286}
diff --git a/src/consensus/gnunet-consensus-profiler.c b/src/consensus/gnunet-consensus-profiler.c
index 6b01f9d8e..272a675db 100644
--- a/src/consensus/gnunet-consensus-profiler.c
+++ b/src/consensus/gnunet-consensus-profiler.c
@@ -172,7 +172,7 @@ do_consensus ()
172 172
173 for (i = 0; i < num_peers; i++) 173 for (i = 0; i < num_peers; i++)
174 GNUNET_CONSENSUS_conclude (consensus_handles[i], 174 GNUNET_CONSENSUS_conclude (consensus_handles[i],
175 conclude_timeout, 175 GNUNET_TIME_relative_to_absolute (conclude_timeout),
176 conclude_cb, &consensus_handles[i]); 176 conclude_cb, &consensus_handles[i]);
177} 177}
178 178
diff --git a/src/consensus/gnunet-service-consensus.c b/src/consensus/gnunet-service-consensus.c
index 914943f11..688190c14 100644
--- a/src/consensus/gnunet-service-consensus.c
+++ b/src/consensus/gnunet-service-consensus.c
@@ -146,7 +146,7 @@ struct ConsensusSession
146 * with a fraction of the conclude timeout. 146 * with a fraction of the conclude timeout.
147 * Only valid once the current round is not CONSENSUS_ROUND_BEGIN. 147 * Only valid once the current round is not CONSENSUS_ROUND_BEGIN.
148 */ 148 */
149 struct GNUNET_TIME_Relative conclude_timeout; 149 struct GNUNET_TIME_Absolute conclude_deadline;
150 150
151 /** 151 /**
152 * Timeout task identifier for the current round. 152 * Timeout task identifier for the current round.
@@ -1194,7 +1194,7 @@ client_conclude (void *cls,
1194 } 1194 }
1195 else 1195 else
1196 { 1196 {
1197 session->conclude_timeout = GNUNET_TIME_relative_ntoh (cmsg->timeout); 1197 session->conclude_deadline = GNUNET_TIME_absolute_ntoh (cmsg->deadline);
1198 /* the 'begin' round is over, start with the next, actual round */ 1198 /* the 'begin' round is over, start with the next, actual round */
1199 round_over (session, NULL); 1199 round_over (session, NULL);
1200 } 1200 }