aboutsummaryrefslogtreecommitdiff
path: root/src/or/or.h
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2012-05-22 09:48:10 -0400
committerNick Mathewson <nickm@torproject.org>2013-02-19 11:05:15 -0500
commite73bbea26271dd6db75ca5c676f3c4ba8fc735e4 (patch)
tree78342452f8bb10737736209265e0e5901c48d5d3 /src/or/or.h
parent1cd67443383966687af3b2f9086ceeb7915017bf (diff)
downloadtor-e73bbea26271dd6db75ca5c676f3c4ba8fc735e4.tar
tor-e73bbea26271dd6db75ca5c676f3c4ba8fc735e4.tar.gz
Tweak consensus method 17 based on arma's comments
Instead of capping whenever a router has fewer than 3 measurements, we cap whenever a router has fewer than 3 measurements *AND* there are at least 3 authorities publishing measured bandwidths. We also generate bandwidth lines with a new "Unmeasured=1" flag, meaning that we didn't have enough observations for a node to use measured bandwidth values in the authority's input, whether we capped it or not.
Diffstat (limited to 'src/or/or.h')
-rw-r--r--src/or/or.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/or/or.h b/src/or/or.h
index a0a921a9f..d53d9ae6c 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -2383,6 +2383,9 @@ typedef enum {
typedef struct networkstatus_t {
ENUM_BF(networkstatus_type_t) type : 8; /**< Vote, consensus, or opinion? */
ENUM_BF(consensus_flavor_t) flavor : 8; /**< If a consensus, what kind? */
+ unsigned int has_measured_bws : 1;/**< True iff this networkstatus contains
+ * measured= bandwidth values. */
+
time_t published; /**< Vote only: Time when vote was written. */
time_t valid_after; /**< Time after which this vote or consensus applies. */
time_t fresh_until; /**< Time before which this is the most recent vote or