Update gatekeeper protocol description

This commit is contained in:
Tony Garnock-Jones 2024-03-22 10:12:13 +01:00
parent 0971e14c8c
commit 956f36c783
1 changed files with 8 additions and 0 deletions

View File

@ -36,6 +36,14 @@ If the checks fail, a `rejected` record is asserted to the `observer`. If no `bi
particular `Step` exists, the system just waits; this allows it to be relaxed about ordering of
events.
However, besides waiting for a `bind`, the gatekeeper asserts a `resolve` of its own into its
associated dataspace, with the same `Step` that it received but a different `observer`. If,
before an appropriate `bind` appears, a `Resolved` assertion is sent to this `resolve`'s
`observer`, the gatekeeper stops waiting for a `bind` and relays the response on to the
ultimate requester directly. This way, entities can keep an eye out for `resolve` requests that
will never complete, and answer `rejected` to them even when no matching `bind` exists.
Entities can also use `resolve` requests to synthesize a `bind` in a "just-in-time" fashion.
## Sturdyrefs
- Relevant schema: [[syndicate-protocol]/schemas/sturdy.prs](https://git.syndicate-lang.org/syndicate-lang/syndicate-protocols/src/branch/main/schemas/sturdy.prs)