aboutsummaryrefslogtreecommitdiff
path: root/src/consensus/gnunet-service-consensus.c
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-02-28 02:14:27 +0100
committerFlorian Dold <florian.dold@gmail.com>2017-02-28 12:58:47 +0100
commitebb8d4e79c9ea21befad74973da051fa09efb0d0 (patch)
tree24765a56f0cce23b1e337567ba09c03a20ba079d /src/consensus/gnunet-service-consensus.c
parentcb130cc9dfc179e3b6cb9f19a7b559106efa3b33 (diff)
downloadgnunet-ebb8d4e79c9ea21befad74973da051fa09efb0d0.tar.gz
gnunet-ebb8d4e79c9ea21befad74973da051fa09efb0d0.zip
consensus: slack-a2a evilness mode and static replication in profiler
Diffstat (limited to 'src/consensus/gnunet-service-consensus.c')
-rw-r--r--src/consensus/gnunet-service-consensus.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/consensus/gnunet-service-consensus.c b/src/consensus/gnunet-service-consensus.c
index 6662ae8ca..b934f468f 100644
--- a/src/consensus/gnunet-service-consensus.c
+++ b/src/consensus/gnunet-service-consensus.c
@@ -1153,6 +1153,7 @@ enum EvilnessType
1153 EVILNESS_CRAM_LEAD, 1153 EVILNESS_CRAM_LEAD,
1154 EVILNESS_CRAM_ECHO, 1154 EVILNESS_CRAM_ECHO,
1155 EVILNESS_SLACK, 1155 EVILNESS_SLACK,
1156 EVILNESS_SLACK_A2A,
1156}; 1157};
1157 1158
1158enum EvilnessSubType 1159enum EvilnessSubType
@@ -1245,6 +1246,10 @@ get_evilness (struct ConsensusSession *session, struct Evilness *evil)
1245 { 1246 {
1246 evil->type = EVILNESS_SLACK; 1247 evil->type = EVILNESS_SLACK;
1247 } 1248 }
1249 if (0 == strcmp ("slack-a2a", evil_type_str))
1250 {
1251 evil->type = EVILNESS_SLACK_A2A;
1252 }
1248 else if (0 == strcmp ("cram-all", evil_type_str)) 1253 else if (0 == strcmp ("cram-all", evil_type_str))
1249 { 1254 {
1250 evil->type = EVILNESS_CRAM_ALL; 1255 evil->type = EVILNESS_CRAM_ALL;
@@ -1417,6 +1422,19 @@ commit_set (struct ConsensusSession *session,
1417 "P%u: evil peer: slacking\n", 1422 "P%u: evil peer: slacking\n",
1418 (unsigned int) session->local_peer_idx); 1423 (unsigned int) session->local_peer_idx);
1419 /* Do nothing. */ 1424 /* Do nothing. */
1425 case EVILNESS_SLACK_A2A:
1426 if ( (PHASE_KIND_ALL_TO_ALL_2 == task->key.kind ) ||
1427 (PHASE_KIND_ALL_TO_ALL == task->key.kind) )
1428 {
1429 struct GNUNET_SET_Handle *empty_set;
1430 empty_set = GNUNET_SET_create (cfg, GNUNET_SET_OPERATION_UNION);
1431 GNUNET_SET_commit (setop->op, empty_set);
1432 GNUNET_SET_destroy (empty_set);
1433 }
1434 else
1435 {
1436 GNUNET_SET_commit (setop->op, set->h);
1437 }
1420 break; 1438 break;
1421 case EVILNESS_NONE: 1439 case EVILNESS_NONE:
1422 GNUNET_SET_commit (setop->op, set->h); 1440 GNUNET_SET_commit (setop->op, set->h);