book/protocols/syndicate/dataspace
“Observe” assertions
The protocol for interaction with a dataspace entity is very simple: any assertion can be sent to a dataspace. The job of a dataspace is to relay assertions on to interested peers; they do not generally interpret assertions themselves.
The sole exception is assertions of interest in other assertions.
These are called “Observe” assertions, or subscriptions:
Observe = <Observe @pattern dataspacePatterns.Pattern @observer #:any>.
An Observe assertion contains a pattern and a reference to an observer
entity. When an Observe assertion is published to a
dataspace, the dataspace alters its internal index to make a note of the
new expression of interest. It also immediately relays any of its
already-existing assertions that match the pattern to the observer
entity. As other assertions come and go subsequently, the dataspace
takes care to inform the observer entity in the Observe
record of the arrival or departure of any of the changing assertions
that match the pattern.
Copyright © 2021–2023 Tony Garnock-Jones, CC BY 4.0
