High Responsiveness for Group Editing CRDTs
Created on 2021-01-30T23:37:56-06:00
Paper talks about RGA/RGASplit CRDT algorithms.
Modifies RGA to work on "blocks." An entire block can be transmitted or deleted.
Kind of looks a bit like piece tables/piece chains but with IDs for each piece.
Description of a block:
- Content: stuff in the piece.
- Identifier: identifies this particular span.
- Next: the next piece in the chain.
- Offset: how many units of content to skip for this piece
- Next split: next piece beloning to this block; set this when splitting a block
- Length: how long is this piece
Blocks are identified by some number and an offset. The number identifier can grow to ensure it fits at the correct position should every single block be sorted by its IDs.