Similar to the Fetcher sans-IO approach, an Announcer sans-IO approach is
introduced. The previous Handler::announce was already quite close to using a
sans-IO approach, but using internally held state. This change makes the
business logic more reusable – and testable.
Similarly to the Fetcher, the Announcer is configured and then driven by
telling it when nodes have been synchronized with. It will continuously check if
it has reached its target, yielding to the caller to decide whether to keep
going. In contrast, it also provides a way to mark the process as timed out,
since announcing relies on waiting for events to come back in a timely manner.
Similar to the Fetcher sans-IO approach, an Announcer sans-IO approach is
introduced. The previous Handler::announce was already quite close to using a
sans-IO approach, but using internally held state. This change makes the
business logic more reusable – and testable.
Similarly to the Fetcher, the Announcer is configured and then driven by
telling it when nodes have been synchronized with. It will continuously check if
it has reached its target, yielding to the caller to decide whether to keep
going. In contrast, it also provides a way to mark the process as timed out,
since announcing relies on waiting for events to come back in a timely manner.
Changes:
- Rebased on stacked patches
Rebased
Rebase