};
-
struct SetKey
{
int set_kind GNUNET_PACKED;
};
-
/**
* A consensus session consists of one local client and the remote authorities.
*/
}
}
+
static const char *
rfnname (uint16_t kind)
{
}
}
+
static const char *
diffname (uint16_t kind)
{
}
}
+
#ifdef GNUNET_EXTRA_LOGGING
return GNUNET_h2s (&hash);
}
+
static const char *
debug_str_task_key (struct TaskKey *tk)
{
return buf;
}
+
static const char *
debug_str_diff_key (struct DiffKey *dk)
{
return buf;
}
+
static const char *
debug_str_set_key (const struct SetKey *sk)
{
return buf;
}
+
#endif /* GNUNET_EXTRA_LOGGING */
}
}
+
#ifdef EVIL
enum EvilnessType
free (evil_subtype_str);
}
+
#endif
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_ONLY));
}
+
static void
put_set (struct ConsensusSession *session,
struct SetEntry *set)
}
-
static void
task_cancel_reconcile (struct TaskEntry *task)
{
GNUNET_CONTAINER_multihashmap_destroy (diff->changes);
GNUNET_free (diff);
}
+
+
#endif
}
-
/**
* Apply the result from one round of gradecasts (i.e. every peer
* should have gradecasted) to the peer's current set.
can't simply send "nothing" for the value. Thus we mark our 'confirm'
reconciliation as contested. Other peers might not know that the
leader is faulty, thus we still re-distribute in the confirmation
- round. */
- output_set->is_contested = GNUNET_YES;
+ round. */output_set->is_contested = GNUNET_YES;
}
switch (majority_vote)
task);
}
+
static void
start_task (struct ConsensusSession *session, struct TaskEntry *task)
{
}
-
-
/*
* Run all steps of the session that don't any
* more dependencies.
}
-
static void
finish_task (struct TaskEntry *task)
{
}
-
static void
put_task (struct GNUNET_CONTAINER_MultiHashMap *taskmap,
struct TaskEntry *t)
}
-
/*
* Arrange two peers in some canonical order.
*/
step = NULL;
-
/* Byzantine union */
/* sequential repetitions of the gradecasts */
}
-
/**
* Check join message.
*