From 0280a72500dac8359ff6c20b4c5654684eeb5b64 Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 9 Dec 2008 18:16:41 +0000 Subject: [PATCH] Add a new status event for consensus arrival svn:r17535 --- ChangeLog | 5 +++++ src/or/networkstatus.c | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/ChangeLog b/ChangeLog index f8d08c62a..63238d534 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Changes in version 0.2.1.9-alpha - 200?-??-?? + + o Minor features (controller): + - New CONSENSUS_ARRIVED event + Changes in version 0.2.1.8-alpha - 2008-12-08 o Major features: - New DirPortFrontPage option that takes an html file and publishes diff --git a/src/or/networkstatus.c b/src/or/networkstatus.c index b1cd2eeab..8ed66f068 100644 --- a/src/or/networkstatus.c +++ b/src/or/networkstatus.c @@ -1359,6 +1359,11 @@ networkstatus_copy_old_consensus_info(networkstatus_t *new_c, * consensus. If we don't have enough certificates to validate it, * store it in consensus_waiting_for_certs and launch a certificate fetch. * + * If flags & NSSET_FROM_CACHE, this networkstatus has come from the disk + * cache. If flags & NSSET_WAS_WAITING_FOR_CERTS, this networkstatus was + * already received, but we were waiting for certificates on it. If flags & + * NSSET_DONT_DOWNLOAD_CERTS, do not launch certificate downloads as needed. + * * Return 0 on success, <0 on failure. On failure, caller should increment * the failure count as appropriate. * @@ -1448,6 +1453,9 @@ networkstatus_set_current_consensus(const char *consensus, unsigned flags) } } + if (!from_cache) + control_event_client_status(LOG_NOTICE, "CONSENSUS_ARRIVED"); + /* Are we missing any certificates at all? */ if (r != 1 && dl_certs) authority_certs_fetch_missing(c, now);