[tor-commits] [tor/master] Use my original formula for number of replacements for an intro point

nickm at torproject.org nickm at torproject.org
Wed Jan 11 00:20:58 UTC 2012


commit 31d6350737437c61da82647f7ac5a41edaa16c3e
Author: Robert Ransom <rransom.8774 at gmail.com>
Date:   Sun Jan 8 01:48:39 2012 -0800

    Use my original formula for number of replacements for an intro point
    
    A fixup commit which was intended to make this formula easier to read
    broke it instead.
---
 src/or/rendservice.c |   25 ++++++++++++-------------
 1 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index dcd962d..1f72c61 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -958,15 +958,14 @@ rend_service_note_removing_intro_point(rend_service_t *service,
      * _LIFETIME_INTRODUCTIONS introductions that it has handled by
      * the fraction of _LIFETIME_MIN_SECONDS for which it existed.
      *
-     * Then we take the reciprocal of that fraction of desired usage,
-     * then multiply by a fudge factor of 1.5, to decide how many new
-     * introduction points should ideally replace intro (which is now
-     * closed or soon to be closed).  In theory, assuming that
-     * introduction load is distributed equally across all intro
-     * points and ignoring the fact that different intro points are
-     * established and closed at different times, that number of intro
-     * points should bring all of our intro points exactly to our
-     * target usage.
+     * Then we multiply that fraction of desired usage by a fudge
+     * factor of 1.5, to decide how many new introduction points
+     * should ideally replace intro (which is now closed or soon to be
+     * closed).  In theory, assuming that introduction load is
+     * distributed equally across all intro points and ignoring the
+     * fact that different intro points are established and closed at
+     * different times, that number of intro points should bring all
+     * of our intro points exactly to our target usage.
      *
      * Then we clamp that number to a number of intro points we might
      * be willing to replace this intro point with and turn it into an
@@ -976,10 +975,10 @@ rend_service_note_removing_intro_point(rend_service_t *service,
      * create the new intro points we want (if any).
      */
     double fractional_n_intro_points_wanted_to_replace_this_one =
-      ((((double)now - intro->time_published) /
-        INTRO_POINT_LIFETIME_MIN_SECONDS) *
-       ((intro_point_accepted_intro_count(intro)) /
-        INTRO_POINT_LIFETIME_INTRODUCTIONS)) * 1.5;
+      (1.5 * ((intro_point_accepted_intro_count(intro) /
+               (double)INTRO_POINT_LIFETIME_INTRODUCTIONS) /
+              (((double)now - intro->time_published) /
+               INTRO_POINT_LIFETIME_MIN_SECONDS)));
     unsigned int n_intro_points_wanted_to_replace_this_one;
     unsigned int n_intro_points_wanted_now;
     unsigned int n_intro_points_really_wanted_now;





More information about the tor-commits mailing list