view doc/rdfdb-sync @ 1551:60cc3a504377

more settings.py coverage. Zeros are now dropped from Settings lists. Ignore-this: cc61e2f12ad9b41daa126ccfb58b4f09
author Drew Perttula <drewp@bigasterisk.com>
date Mon, 22 May 2017 04:37:28 +0000
parents b65995e32a23
children
line wrap: on
line source

http://neil.fraser.name/writing/sync/


file persistence could be just another client with deliberate huge
latency to save on disk writes?


    ------------------
    server master

    per-client shadow



    client shadow

    client master
    ------------------


client edits write to clientmaster. client also reads from there.
When the last update is done,




graph: (s1 p1 o1)

client1 writes a loose patch: del (s1 p1 *), add (s1 p1 o2)

client2 gets in another loose patch first: del (s1 p1 *), add (s1 p1 o3)

on the server, we make an invertible patch: del (s1 p1 o1), add (s1 p1 o2)

then another invertible patch: del (s1 p1 o2), add (s1 p1 o3)

some clients need this patch: del (s1 p1 o1), add (s1 p1 o3)
client1 needs this patch: del (s1 p1 o1), add (s1 p1 o2)


---------

graph: ()

client1 writes a patch: add (s1, p1, o1)
client2 writes a patch: add (s1, p1, o1)

on the server, client2's patch is rewritten to no-op.