-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathsync_protocol.txt
More file actions
28 lines (22 loc) · 994 Bytes
/
sync_protocol.txt
File metadata and controls
28 lines (22 loc) · 994 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
develop a protocol for syncing databases using a shared file system
dropbox, google drive, webDAV
single master multiple slave structure
changesets
master saves changesets in db with timestamps
master posts changesets in store with unique id
each slave posts tiny file when it has completed processing of changeset with error/success
if all success master deletes changeset file
Node actions:
join network request full database
join network request changesets since date
request to become master
takeover master after master disappears from network
upgrade to master status
downgrade to slave status
Error conditions
shared storage is down but network is up
network is down.
slave disconnects from network
master disconnects from network
Can we use OPML as the feedlist and feeds? Can we add extra attributes to each feed in opml?
If so, then changeset would be OPML + New Items + marked + unmarked [marked and unmarked cannot contain the same id in one changeset]