typedef struct {
char nickname[MAX_NICKNAME_LEN+1];
char identity[DIGEST_LEN];
+ uint8_t made_contact; /**< 0 if we have never connected to this router,
+ * 1 if we have. */
time_t down_since; /**< 0 if this router is currently up, or the time at
* which it was observed to go down. */
time_t unlisted_since; /**< 0 if this router is currently listed, or the
return r;
}
-/** DOCDOC */
+/** Parse <b>state</b> and learn about the helper nodes it describes.
+ * If <b>set</b> is true, and there are no errors, replace the global
+ * helper list with what we find.
+ * On success, return 0. On failure, set *<b>err</b> to a string
+ * describing the error, and return -1.
+ */
int
helper_nodes_parse_state(or_state_t *state, int set, const char **err)
{
return *err ? -1 : 0;
}
-/** DOCDOC */
+/** Our list of helper nodes has changed, or some element of one
+ * of our helper nodes has changed. Write the changes to disk. */
static void
helper_nodes_changed(void)
{
or_state_save();
}
-/** DOCDOC */
+/** If the helper node info has not changed, do nothing and return.
+ * Otherwise, free the HelperNodes piece of <b>state</b> and create
+ * a new one out of the global helper_nodes list, and then mark
+ * <b>state</b> dirty so it will know to get saved to disk.
+ */
int
helper_nodes_update_state(or_state_t *state)
{