WIP: start rewriting trait Subsystem
The goal here is to simplify implementation: instead of each implementor needing to do the same right thing in `fn start`, we now provide that method by default, and let the implementer just provide the subsystem's name and its `fn run`. This shouldn't be too big an adaptation as nearly-all, or all, existing subsystems are implemented in terms of `fn run` already. As a side-effect, the change in signature of `fn start` means that we can now properly capture whenever a subsystem dies with an error, and propagate that to a log at least. The overseer will restart it, but we'll at least capture the fatal error in a log message now instead of discarding it.
parent
6a42be29
Please register or sign in to comment