guard-spec.txt: If we exhaust all guards, start from top again.

This commit is contained in:
George Kadianakis 2017-02-02 13:36:58 +02:00
parent 7cbcbf5bcb
commit 65e24ed3f1

View File

@ -473,7 +473,12 @@
random from {USABLE_FILTERED_GUARDS}. Set its {is_pending}
field to true. The circuit is <usable_if_no_better_guard>.
We update the {last_tried_connect} time for the guard to 'now.'
If during the above algorithm we exhaust all sampled guards before finding a
reachable one, then we proceed by marking all guards as <maybe> reachable so
that we can keep on sampling.
When we finally connect to a guard, we update the {last_tried_connect} time
for the guard to 'now.'
In some cases (for example, when we need a certain directory feature,
or when we need to avoid using a certain exit as a guard), we need to