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. |
||
|---|---|---|
| .. | ||
| fetch.rs | ||
| git-remote-rad.rs | ||
| lib.rs | ||
| list.rs | ||
| push.rs | ||