Commit 30e73f3a authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

r16248@catbus: nickm | 2007-10-28 19:42:14 -0400

 Do not count a server as having any WFU until we have known about it for 18 hours (weighted).


svn:r12261
parent 5f8bd6e6
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -23,6 +23,8 @@ Changes in version 0.2.0.10-alpha - 2007-1?-??
    - Directory authorities now decide whether routers are stable enough to
      be guards based not on their MTBF or their uptime, but on their
      fractional uptime: the fraction of the time that they are online.
      (No router counts as having uptime until we've known about it for
      at least 24 hours.)
    - Clients new hold circuitless TLS connections open for 1.5 times
      MaxCircuitDirtiness, since it is likely that they'll need to build
      a circuit over them within that timeframe.  Previously, they held them
+5 −0
Original line number Diff line number Diff line
@@ -384,6 +384,9 @@ get_stability(or_history_t *hist, time_t when)
  return total / total_weights;
}

/* Until we've known about you for this long, you simply can't be up. */
#define MIN_WEIGHTED_TIME_TO_BE_UP (18*60*60)

/** Helper: Return the weighted percent-of-time-online of the router with
 * history <b>hist</b>. */
static double
@@ -399,6 +402,8 @@ get_weighted_fractional_uptime(or_history_t *hist, time_t when)
  } else if (hist->start_of_downtime) {
    total += (when - hist->start_of_downtime);
  }
  if (total < MIN_WEIGHTED_TIME_TO_BE_UP)
    return 0.0;
  return ((double) up) / total;
}