diff options
author | Florian Dold <florian.dold@gmail.com> | 2014-01-07 00:14:11 +0000 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2014-01-07 00:14:11 +0000 |
commit | 6a86f1fc448e219364d547d167d0a655eff2b531 (patch) | |
tree | 681e2a680f33f40da4d2235089946a9e4aa0089a /src/consensus | |
parent | 4d1b8809fe1df0f2524abc0e65f2f770c88adbdf (diff) | |
download | gnunet-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.h | 9 | ||||
-rw-r--r-- | src/consensus/consensus_api.c | 6 | ||||
-rw-r--r-- | src/consensus/gnunet-consensus-profiler.c | 2 | ||||
-rw-r--r-- | src/consensus/gnunet-service-consensus.c | 4 |
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 | */ |
267 | void | 267 | void |
268 | GNUNET_CONSENSUS_conclude (struct GNUNET_CONSENSUS_Handle *consensus, | 268 | GNUNET_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 | } |