|
|
|
|
|
by ablob
954 days ago
|
|
You can implement delete operations by marking fragments as deleted.
That way you can still refer to them from a positional perspective, but they will eventually disappear. The exact behavior depends on the implementation, the only requirement is that every "user" reaches the same state eventually. A: delete Line 4@marker
B: append to the end of line 4@marker "abcd"
could then result in either line 4 with only "abcd", or "abcd" at the beginning of line 5 (as long as both sides resolve to the same state).
You're right in that this is tricky to get right, as that is inherent to the complexity of asynchonous mutation from multiple sources. |
|
What is the source of truth eventually?
I think there must probably be a hierarchy that decides it. It's probably a kind of race condition/byzantine general problem.