Draft: arti: Support reconfiguration of services and implement for SOCKS
Not done in this MR:
- The DNS code needs to use the new trait
- Often we pass a runtime as well as a
TorClient
, which is otiose - Right now the configuration watch machinery is not reuseable in something that wraps
ArtiConfig
.
I have tested this locally but I have not yet got the CI test to pass. I may need to iterate through the CI.
The branch structure ought to be explanatory and is probably best read commit-by-commit. If I need to rework it more than trivially, I may strip the cargo fmt
patch off the top, so that we can later squash fixups down.