| Crates.io | euklid |
| lib.rs | euklid |
| version | 0.0.4 |
| created_at | 2021-09-09 09:49:38.899918+00 |
| updated_at | 2021-09-09 09:49:38.899918+00 |
| description | Library for CRDT |
| homepage | https://github.com/veminovici/euklid |
| repository | https://github.com/veminovici/euklid |
| max_upload_size | |
| id | 448790 |
| size | 35,426 |
Rust crate for the CRDTs.
The Dot is implementing a marked version.
extern crate euklid;
use euklid::Dot;
// Create a dot for actor Alice.
let mut dot = Dot::new("Alice".to_string(), 0);
// Increment the dot.
dot.apply_inc();
More examples can be found in the example file.
The VClock is implementing a vector clock.
extern crate euklid;
use euklid::{Dot, VClock};
// Create a vclock and increment the counter for user A.
let mut a = VClock::new();
// Increment the counter for actor A
a.apply(a.inc_op("A"));
// Increment the counter for actor B
a.apply(a.inc_op("B"));
More examples can be found in the example file.
The GCounter is implementing a grow-only counter.
xtern crate euklid;
use euklid::{Dot, GCounter};
// Create a vclock and increment the counter for user A.
let mut a = VGounter::new();
// Increment the counter for actor A
a.apply(a.inc_op("A"));
// Increment the counter for actor B
a.apply(a.inc_op("B"));
// Increase the counter for actor A by 5
a.apply(a.step_op("A", 5));
More examples can be found in the example file.
You can contact me at veminovici@hotmail.com. Code designed and written in Päädu, on the beautiful island of Saaremaa, Estonia.