4 个版本

使用旧的 Rust 2015

0.1.3 2024 年 8 月 3 日
0.1.2 2017 年 4 月 12 日
0.1.1 2016 年 11 月 21 日
0.1.0 2016 年 11 月 9 日

#813数据结构

Download history 1/week @ 2024-05-18 10/week @ 2024-07-27 145/week @ 2024-08-03 6/week @ 2024-08-10

每月 161 次下载

Apache-2.0

34KB
803 代码行

Build Status

区间树时钟

itc2008 的实现

文档

https://docs.rs/itc


lib.rs:

区间树时钟

itc 包实现了在 http://gsd.di.uminho.pt/members/cbm/ps/itc2008.pdf 中描述的区间树时钟

用法

use itc::*;

let s = Stamp::seed();

let (s1, s2) = s.fork();
let s1prime = s1.event();
let s2prime = s2.event();
let s3 = s2prime.join(&s1);

assert!(s.leq(&s1));
assert!(s1.leq(&s1prime));
assert!(!s1prime.leq(&s2prime));
assert!(s2prime.leq(&s3));

此模块实现了 4 个动词:fork、event、join、peek,以及 3 个衍生动词:send、receive 和 sync,以及用于建立因果关系/发生之前关系的部分排序。还包括一个简单的 ascii 编码表示,适合打印到 stdout 和用于协议。

无运行时依赖