summaryrefslogtreecommitdiff
path: root/crates/tor-circmgr/src/build
Commit message (Collapse)AuthorAgeFilesLines
* Use better reporting for guard status.Nick Mathewson2021-10-131-0/+57
The previous code would report all failures to build a circuit as failures of the guard. But of course that's not right: If we fail to extend to the second or third hop, that might or might not be the guard's fault. Now we use the "pending status" feature of the GuardMonitor type so that an early failure is attributed to the guard, but a later failure is attributed as "Indeterminate". Only a complete circuit is called a success. We use a new "GuardStatusHandle" type here so that we can report the status early if there is a timeout.