Nicholas Kariniemi
412bf29f57
Close up client channels properly on disconnect
2014-10-25 22:15:43 +03:00
Nicholas Kariniemi
5ee40a6471
Use version numbers instead of timestamps
...
Also:
- Don't acknowledge changes sent from the server to the client.
- Only send one message at a time to the server.
All of these changes bring this more in line with the differential sync paper.
2014-10-25 19:31:14 +03:00
Nicholas Kariniemi
8fe22b9a52
Use timestamp tags instead of hashes
...
- Hashing was slow and we weren't using the hash properties much anyway
2014-10-21 23:25:42 +03:00
Nicholas Kariniemi
19ca650078
Fix tests - sync integration tests commented out
2014-10-19 11:49:02 +03:00
Nicholas Kariniemi
9591e9fd93
Rename state <--> sync namespaces
2014-10-19 10:53:14 +03:00
Nicholas Kariniemi
78d5617356
Keep state history with state in one atom
2014-10-15 22:14:32 +03:00
Nicholas Kariniemi
8dbb410667
Bounce favicon requests
2014-10-15 21:05:07 +03:00
Nicholas Kariniemi
f496fb51e5
Pull state history into state handler loop
...
- This is incidental complexity and other code doesn't need to know
about it
2014-10-14 22:49:04 +03:00
Nicholas Kariniemi
7ada33bdfc
Make server, client agent APIs more similar
2014-10-13 22:02:32 +03:00
Nicholas Kariniemi
b5a668e6ee
Push state history into state handling
2014-10-13 21:54:52 +03:00
Nicholas Kariniemi
dffdc7cabb
Remove init-server from state handling
2014-10-13 21:27:24 +03:00
Nicholas Kariniemi
5fd54b62e6
Make state syncing code more explicit
2014-10-12 23:15:40 +03:00
Nicholas Kariniemi
64b1bb05a7
Start client code like server side
2014-10-12 22:57:00 +03:00
Nicholas Kariniemi
73cf89f9d5
Move state handling atoms to global system var
2014-10-12 13:41:19 +03:00
Nicholas Kariniemi
7b3b509eaf
Use Stuart Sierra reloaded workflow
2014-10-12 13:29:48 +03:00
Nicholas Kariniemi
8ef1522c1e
Remove atoms from server,db so app can be reloaded
2014-10-12 12:56:57 +03:00
Nicholas Kariniemi
ec27d58e31
Drop compojure dependency
...
It was hardly used and makes control flow, reloaded workflow more difficult.
2014-10-12 12:25:15 +03:00
Nicholas Kariniemi
58373496f0
Use transit for communication for possible speed improvements
2014-10-10 22:48:39 +03:00
Nicholas Kariniemi
d6670f4157
Update React: 0.11.1 -> 0.11.2
2014-10-10 17:52:27 +03:00
Nicholas Kariniemi
e3eb2639cc
Remove log statement
2014-10-06 20:17:00 +03:00
Nicholas Kariniemi
86bfdf80e4
Simplify MongoDB code by just storing whole state
...
- Every time it receives a state, it blows away the existing one and
puts in the new one.
- There's a non-zero probability of losing the entire state if the
server fails after blowing away the previous state and before
inserting the new.
2014-10-05 00:12:09 +03:00
Nicholas Kariniemi
48ba2c5449
Possibly fully working (poorly tested)
2014-10-04 22:52:03 +03:00
Nicholas Kariniemi
d7708e1382
Move to shared state
2014-09-26 11:53:19 +03:00
Nicholas Kariniemi
e6b3c10396
Move state handling to shared code
2014-09-25 23:16:57 +03:00
Nicholas Kariniemi
39307f5a73
Test at "server agent" level
2014-09-25 23:14:26 +03:00
Nicholas Kariniemi
edab2ad684
Add sync test for single diff
2014-09-25 21:43:31 +03:00
Nicholas Kariniemi
3760fc8059
Possible changes - wip
2014-09-24 08:25:42 +03:00
Nicholas Kariniemi
31b6d40aef
wip
2014-09-24 06:20:19 +03:00
Nicholas Kariniemi
f632fabdb2
Move message to shared
2014-09-23 19:52:47 +03:00
Nicholas Kariniemi
36a0e3d419
Move sync code to shared
2014-09-23 19:51:31 +03:00
Nicholas Kariniemi
dc355eb6ec
Separate state handle, sync algorithm
2014-09-23 19:49:08 +03:00
Nicholas Kariniemi
1b8339dec0
Mid-changes: organize state changes
2014-09-22 22:47:36 +03:00
Nicholas Kariniemi
fe5bd00427
Refactor - wip
2014-09-16 23:27:10 +03:00
Nicholas Kariniemi
5a66361746
Rename sync -> diff
2014-09-14 21:30:19 +03:00
Nicholas Kariniemi
4320401a4e
Better - uses tx-listen
2014-08-30 17:06:48 +03:00
Nicholas Kariniemi
f087309c0f
Possibly fully working differential sync
2014-08-30 15:40:17 +03:00
Nicholas Kariniemi
a572b9e1eb
Reset state from history
...
- fails if server changes are made while client is disconnected
2014-08-30 11:47:09 +03:00
Nicholas Kariniemi
763e6f2fc8
Sync complete state on checksum failure
2014-08-30 08:11:45 +03:00
Nicholas Kariniemi
bd08ea5ec5
Factor out some client/server common state ops
2014-08-30 07:21:59 +03:00
Nicholas Kariniemi
b7b094b253
Refactor wip
2014-08-19 23:24:19 +03:00
Nicholas Kariniemi
4ac42b0cf3
Working hash checks a la hasch
2014-08-13 21:37:17 +03:00
Nicholas Kariniemi
a672155a92
State checks - wip
2014-08-10 22:53:42 +03:00
Nicholas Kariniemi
becfb42627
Sync state using diffs instead of events
2014-08-10 20:55:26 +03:00
Nicholas Kariniemi
5230dc9601
Patch diff onto state
2014-08-09 16:03:06 +03:00
Nicholas Kariniemi
d775f1dab7
Diff two states
2014-08-09 15:37:39 +03:00
Nicholas Kariniemi
d018bcf3cf
Remove recipes
2014-08-09 00:07:59 +03:00
Nicholas Kariniemi
8ecc7e9ad4
Delete individual grubs
2014-08-08 23:56:49 +03:00
Nicholas Kariniemi
680ca9ab8a
Clean up deps
2014-08-03 10:18:49 +03:00
Nicholas Kariniemi
e79051f991
Update monger connect-via-uri call for lib changes
2014-08-03 00:33:45 +03:00
Nicholas Kariniemi
a7ac7665df
Rework tests slightly
2014-08-02 23:54:02 +03:00