Alexis Sellier
|
f6e8a18b15
|
crdt: Remove unused `Envelope` type
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-02 14:21:50 +01:00 |
Alexis Sellier
|
d6467fe4f1
|
patch: Use `GMap` to simplify code
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-02 14:21:50 +01:00 |
Alexis Sellier
|
ff79347eb0
|
crdt: Implement `LWWMap` in terms of `GMap`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-02 14:21:50 +01:00 |
Alexis Sellier
|
bcef784ad4
|
crdt: Implement Grow-only Map (`GMap`)
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-02 14:21:50 +01:00 |
Alexis Sellier
|
64ce15dbe2
|
crdt: Include timestamp in `Change`
We can then use the real change timestamp for our COBs.
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-02 14:19:25 +01:00 |
Alexis Sellier
|
60d95ebbd8
|
crdt: Small simplification in `Redactable`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-01 12:05:44 +01:00 |
Alexis Sellier
|
b3faba715b
|
patch: Correctly merge review edits
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-01 12:05:44 +01:00 |
Alexis Sellier
|
252b6cd7bc
|
crdt: Small improvements
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-01 12:05:44 +01:00 |
Alexis Sellier
|
2230c8ddc4
|
crdt: Relax bounds and take references
The getter-style functions don't need owned keys.
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-01 12:05:44 +01:00 |
Alexis Sellier
|
41309538fb
|
crdt: Small improvements and function additions
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-01 12:05:44 +01:00 |
Alexis Sellier
|
c5225c64cd
|
crdt: Relax some of the type constraints
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-12-01 12:05:44 +01:00 |
Alexis Sellier
|
a79c95283b
|
Minor doc and instance changes
Signed-off-by: Alexis Sellier<alexis@radicle.xyz>
|
2022-11-26 17:51:07 +01:00 |
Alexis Sellier
|
fee0296910
|
Rename `LClock` to `Lamport`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:48:50 +01:00 |
Alexis Sellier
|
b79e2f5b56
|
crdt: Remove redundant `Author` type
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:44:18 +01:00 |
Alexis Sellier
|
d18b67ba21
|
crdt: Remove redundant `merge` function
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:41:46 +01:00 |
Alexis Sellier
|
d1360bbec0
|
crdt: Remove `Copy` bound on `LWWMap`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:41:40 +01:00 |
Alexis Sellier
|
36ccab2d7a
|
crdt: Make some improvements to the types
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:13:22 +01:00 |
Alexis Sellier
|
cc33d04a7b
|
crdt: Require `LWWReg` value to be `Semilattice`
* Also derive instances of `Semilattice` for built-in types.
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:13:22 +01:00 |
Alexis Sellier
|
fa9a89caa3
|
Start integrating new CRDTs into `radicle` crate
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:13:22 +01:00 |
Alexis Sellier
|
550ad2b558
|
Make `Thread` a semilattice
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:13:22 +01:00 |
Alexis Sellier
|
7e8af47f59
|
Implement `Change::decode`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:13:22 +01:00 |
Alexis Sellier
|
0448441418
|
Use `merge` as the `Semilattice` join method
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:13:22 +01:00 |
Alexis Sellier
|
01b7686659
|
Turn `Redactable` into a semilattice
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:13:22 +01:00 |
Alexis Sellier
|
681a8c9374
|
Test CRDT storage, simplify `Thread`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-26 17:13:22 +01:00 |
Alexis Sellier
|
01ad0fb31d
|
cob: Split generic code from automerge-specific
|
2022-11-26 17:13:18 +01:00 |
Alexis Sellier
|
8dc655758e
|
Test ordering of timelines with concurrency
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-23 21:03:49 +01:00 |
Alexis Sellier
|
64862b3ab3
|
Add lamport clock
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-23 19:52:20 +01:00 |
Alexis Sellier
|
0482757ce9
|
Implement `LWWReg` in terms of `Max`
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-23 19:52:20 +01:00 |
Alexis Sellier
|
b11826b113
|
Add `LWWMap` and implement `LWWSet` with it
Signed-off-by: Alexis Sellier <alexis@radicle.xyz>
|
2022-11-23 19:52:20 +01:00 |
Alexis Sellier
|
35f061746c
|
Add `radicle-crdt` crate
Explorations with CRDTs.
|
2022-11-23 19:52:18 +01:00 |