Design 42 zfs-owns-zfs: A-43 no wait in a hand act, A-44 the stream-publish capability
This commit is contained in:
@@ -167,3 +167,12 @@ settles it (`00-META/principles.md`), cited as "design 42 zfs-owns-zfs A-n". The
|
||||
events stream with the calls it has (`mesh/stream.fill` for the last sequence before it starts the act, then
|
||||
`mesh/stream.read` from the next one with the act's subject), for at most the 30 seconds of A-12. The other modules
|
||||
whose bundles emit onto a template events stream (messenger) move to the call in a change of their own.
|
||||
- **A-43** (corrects A-12 and A-42's wait, met in develop; principles 1 and 7: nothing polls) A hand act's tool does not
|
||||
wait: once its act's key is written and the run's unit started, it answers "started" at once, naming the act and that
|
||||
`zfs_module_events` reads its outcome, as §24 says ("the tool answers from the state and events afterwards"). The
|
||||
bundle has no watch on its events stream, and a repeated read for 30 seconds is a poll.
|
||||
- **A-44** (A-42, met in develop; principle 3; the module graph orders the delivery) `mesh/stream.publish` is a family
|
||||
of its own, the capability `stream-publish`, which the new tool runner states; the zfs module's `capabilities` ask
|
||||
for it (and for `bus-state-calls` and `ledger-calls`, the calls it already makes), so the delivery plan places the
|
||||
zfs module's new version only on a machine whose tool runner answers the call, and never one where its events would
|
||||
fail.
|
||||
|
||||
Reference in New Issue
Block a user