Clarify conflicted state set?

This commit is contained in:
David Robertson 2022-05-30 14:04:45 +01:00
parent 8c4c09feb0
commit 8ab06340f0
No known key found for this signature in database
GPG key ID: 903ECE108A39DEDD

View file

@ -31,13 +31,15 @@ the `membership` is `leave` or `ban` and the `sender` does not match the
might remove someone's ability to do something in the room.
**Unconflicted state map and conflicted state set.**
The key-value pairs across all state maps *S<sub>i</sub>* can be divided into
two collections. If a given key *K* is present in every *S<sub>i</sub>* with the
same value *V* in each state map, then the pair (*K*, *V*) belongs to the
*unconflicted state map*. Otherwise (*K*, *V*) belongs to the
*conflicted state set*.
The keys of the state maps *S<sub>i</sub>* are 2-tuples of strings of the form
*K* = `(event_type, state_key)`. The values *V* are state events.
The key-value pairs (*K*, *V*) across all state maps *S<sub>i</sub>* can be
divided into two collections.
If a given key *K* is present in every *S<sub>i</sub>* with the same value *V*
in each state map, then the pair (*K*, *V*) belongs to the *unconflicted state map*.
Otherwise (*K*, *V*) belongs to the *conflicted state set*.
Note that the unconflicted state map only has one event per `(event_type, state_key)`,
Note that the unconflicted state map only has one event for each key *K*,
whereas the conflicted state set may associate multiple events to the same key.
**Auth chain.**