Deprecate smartlist_choose_node_by_bandwidth() ?
smartlist_choose_node_by_bandwidth()
is a function that chooses a random node from a smartlist, weighted by the advertised bandwidth of each element.
It's the older sister of smartlist_choose_node_by_bandwidth_weights()
(see node_sl_choose_by_bandwidth()
) which uses advertised bandwidth instead of measured. Its algorithm is old and buggy (#13066 (moved)) and apparently documented at http://archives.seul.org/or/dev/Jul-2007/msg00056.html.
Now that Tor has measured bandwidth, we should make sure that the function is unused and then maybe consider deprecating it. However, we should make it so that we are still able to gracefully handle a situation where we don't have measured bandwidths or weights.