Thanks to all who attended or watched the recording!
One interesting point of Braid-101 was the "but hey, this is a CRDT - it
has no merge conflicts" moment.
I circled this back into my group and here is what we came up with, it's
mostly Erick Lavoie's assessments and I wanted to share it with you:
a) The presented shared session state management protocol is "just sync"
b) The consequence of a): because the session state mgmt protocol is
"just sync", it can't be a CRDT because CRDTs are meant to be sync-free.
Sync-free means that you can continue to work on your local replica of
the shared data without dependency on others' actions.
c) As a proof: with the presented shared session state, there is no way
for the initiator to go into "open" before the responder has accepted
the invite - the initiator is blocked on its peer (or can abandon the
invite, of course).
d) Another way of phrasing it: there are monotonic protocols, like the
presented session state sync, where progress always is in one direction
(e.g., invited->open->finished, invited->canceled->finished). But not
all monotonic protocols are CRDTs.
e) Still, the sync is not to be underestimated: it is needed to
establish consensus on the existance and destruction of a CRDT (i.e.,
game instance, editing session). All invariants that come with CRDTs
hold while there is consensus that a CRDT data structure exists, but
typically not before and not afterwards.
Best, c
> --
> You received this message because you are subscribed to the Google Groups "Braid" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to
>
braid-http+...@googlegroups.com.
> To view this discussion visit
>
https://groups.google.com/d/msgid/braid-http/AF83B8C0-0C56-48FB-B03B-D8D26E76E151%40gmail.com.
>
>