Commit b294a037 authored by Roger Dingledine's avatar Roger Dingledine
Browse files

choose exit nodes by bandwidth too


svn:r2274
parent 6de61bd6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -909,7 +909,7 @@ static routerinfo_t *choose_good_exit_server_general(routerlist_t *dir)
    smartlist_subtract(sl,excludedexits);
    if (options.StrictExitNodes || smartlist_overlap(sl,preferredexits))
      smartlist_intersect(sl,preferredexits);
    router = smartlist_choose(sl);
    router = routerlist_sl_choose_by_bandwidth(sl);
  } else {
    /* Either there are no pending connections, or no routers even seem to
     * possibly support any of them.  Choose a router at random. */
@@ -923,7 +923,7 @@ static routerinfo_t *choose_good_exit_server_general(routerlist_t *dir)
    smartlist_subtract(sl,excludedexits);
    if (options.StrictExitNodes || smartlist_overlap(sl,preferredexits))
      smartlist_intersect(sl,preferredexits);
    router = smartlist_choose(sl);
    router = routerlist_sl_choose_by_bandwidth(sl);
  }

  smartlist_free(preferredexits);
+1 −0
Original line number Diff line number Diff line
@@ -1396,6 +1396,7 @@ int all_directory_servers_down(void);
struct smartlist_t;
void add_nickname_list_to_smartlist(struct smartlist_t *sl, const char *list);
int router_nickname_matches(routerinfo_t *router, const char *nickname);
routerinfo_t *routerlist_sl_choose_by_bandwidth(smartlist_t *sl);
routerinfo_t *router_choose_random_node(char *preferred, char *excluded,
                                        struct smartlist_t *excludedsmartlist,
                                        int preferuptime, int preferbandwidth,
+1 −1
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ routerlist_sl_remove_unreliable_routers(smartlist_t *sl)
  }
}

static routerinfo_t *
routerinfo_t *
routerlist_sl_choose_by_bandwidth(smartlist_t *sl)
{
  int i;