Clarify and rationalise interaction between dormancy and have-we-been-bootstrapped, and dormancy code
TorClient has two kinds of dormancy: 1. Dormancy
2. not-having-ever-had-boostrap()
-called.
This is confusing, both at an API level, and internally. We should rationalise this.
-
Define what the modes of a TorClient
should be -
Define sensible APIs for selecting those modes, and retcon appropriate semantics for existing APIs -
Rationalise the internals so that the mode we're in has a single source of truth and can be determined and tracked as appropriate -
Abolish the proliferating crate-level Dormant
enums, and instead do something viaSleepProvider
or something !845 (comment 2853190)