annotate doc/rdfdb-sync @ 1972:d4a07ad96aad

attempt a pyftdi output driver using code from https://github.com/jlbrogdon/dmx_controller/blob/master/OpenDmxUsb/__init__.py (gplv2) Ignore-this: 5a4dbbc0493dfa0bf62cc9c5b79b96d7
author drewp@bigasterisk.com
date Sat, 08 Jun 2019 07:36:34 +0000
parents b65995e32a23
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1040
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
1 http://neil.fraser.name/writing/sync/
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
2
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
3
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
4 file persistence could be just another client with deliberate huge
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
5 latency to save on disk writes?
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
6
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
7
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
8 ------------------
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
9 server master
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
10
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
11 per-client shadow
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
12
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
13
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
14
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
15 client shadow
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
16
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
17 client master
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
18 ------------------
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
19
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
20
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
21 client edits write to clientmaster. client also reads from there.
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
22 When the last update is done,
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
23
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
24
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
25
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
26
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
27 graph: (s1 p1 o1)
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
28
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
29 client1 writes a loose patch: del (s1 p1 *), add (s1 p1 o2)
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
30
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
31 client2 gets in another loose patch first: del (s1 p1 *), add (s1 p1 o3)
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
32
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
33 on the server, we make an invertible patch: del (s1 p1 o1), add (s1 p1 o2)
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
34
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
35 then another invertible patch: del (s1 p1 o2), add (s1 p1 o3)
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
36
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
37 some clients need this patch: del (s1 p1 o1), add (s1 p1 o3)
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
38 client1 needs this patch: del (s1 p1 o1), add (s1 p1 o2)
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
39
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
40
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
41 ---------
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
42
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
43 graph: ()
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
44
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
45 client1 writes a patch: add (s1, p1, o1)
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
46 client2 writes a patch: add (s1, p1, o1)
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
47
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
48 on the server, client2's patch is rewritten to no-op.
b65995e32a23 old notes on rdfdb
Drew Perttula <drewp@bigasterisk.com>
parents:
diff changeset
49