Nicholas Kariniemi
4058d17102
Prove eventual consistency for n clients
2015-12-09 21:43:48 +02:00
Nicholas Kariniemi
2747dd066d
CSP: Update implementation to allow for 3 clients
2015-12-09 18:46:28 +02:00
Nicholas Kariniemi
6bc934c647
CSP: Two way sync for an arbitrary n inputs from either client
2015-12-01 20:10:07 +02:00
Nicholas Kariniemi
7d37ea3cf0
CSP: Working two way sync specification + implementation
2015-12-01 19:43:10 +02:00
Nicholas Kariniemi
0ea9aab101
Two way sync assertion
2015-11-30 00:29:02 +02:00
Nicholas Kariniemi
20c408e491
Add two-way sync assertion and simplify down buffer
...
- Down buffer is no longer a sliding buffer of size one but just
a buffer of size 1. It cannot be pushed into if it is full.
2015-11-29 23:28:48 +02:00
Nicholas Kariniemi
5cf41c6b21
Remove unnecessary render on client input
2015-11-29 23:28:04 +02:00
Nicholas Kariniemi
42afcc5b77
Extend one-way sync tests
2015-11-29 01:36:08 +02:00
Nicholas Kariniemi
e9c006281a
Simplify algorithm: remove count, unused if statement
2015-11-29 01:16:44 +02:00
Nicholas Kariniemi
a003fc9db7
Working specification for a simple sync
2015-11-29 00:42:10 +02:00
Nicholas Kariniemi
cd7397ef40
CSP: Re-specification of sync algorithm with Datomic in mind
...
- This specification ignores the actual diffing/patching itself and
concerns itself only with the current database, server, and client t
or database time.
2015-11-26 22:09:33 +02:00
Nicholas Kariniemi
bde07221a6
More sync musings
2015-11-17 22:49:53 -05:00
Nicholas Kariniemi
432ee48162
Buffers - Add a client-side download buffer as well
...
--> No deadlock but state explosion. Not sure if syncing still works.
2015-08-26 22:22:34 +03:00
Nicholas Kariniemi
e47f79ac7b
Buffers - wip2
2015-08-26 22:09:10 +03:00
Nicholas Kariniemi
52af4dfd68
Buffers - wip
2015-08-26 21:35:22 +03:00
Nicholas Kariniemi
619f21e4d8
CSP: Introduce a one element sliding buffer when DB changes are saved
...
This fixes a deadlock issue from the previous model.
2015-08-24 18:40:01 +03:00
Nicholas Kariniemi
b3b8011719
CSP: Fix issue over which events can be communicated when
2015-08-19 20:50:08 +03:00
Nicholas Kariniemi
0cebe1f5ab
Fix deadlock in previous implementation
...
by only allowing new inputs if the previous one has been "acked".
I.e. if you send one diff, you don't process any more diffs until you
receive a diff back. This is something specified in the Neil Frasier
paper and also something needed to prevent deadlock.
2015-08-15 18:32:25 +03:00
Nicholas Kariniemi
9f32a03d04
Force processes to synchronize on communication
...
Use parallel operation || instead of the (unsynchronized) interleave
operation |||.
2015-08-15 18:18:04 +03:00
Nicholas Kariniemi
1b99e49563
Add identifiers to events
2015-08-15 16:51:25 +03:00
Nicholas Kariniemi
da0541518e
Send unsent client changes to server
2015-08-15 16:38:20 +03:00
Nicholas Kariniemi
cd94b6a966
More complicated - loads but untested
2015-08-15 15:14:27 +03:00
Nicholas Kariniemi
14a8c340e0
More complicated model with multiple server/client pairs - wip
2015-08-15 14:58:59 +03:00
Nicholas Kariniemi
30bbfff308
More nuance - send back diff
2015-08-13 22:41:30 +03:00
Nicholas Kariniemi
bdc78589ea
Slight improvement
2015-08-13 22:25:18 +03:00
Nicholas Kariniemi
2736769825
Basic CSP "sync" - some working CSPM
2015-08-13 21:58:03 +03:00