26 个版本 (破坏性)
0.21.1 | 2024 年 8 月 15 日 |
---|---|
0.20.0 | 2024 年 1 月 29 日 |
0.19.0 | 2023 年 12 月 20 日 |
0.18.0 | 2023 年 11 月 6 日 |
0.2.0 | 2021 年 3 月 10 日 |
#128 in 并发
每月 414 次下载
用于 11 个 Crates(10 直接)
350KB
9K SLoC
此 crate 由 TinyChain 内部使用。它提供了特质和数据结构以支持内存和持久数据类型的事务性突变。
示例
use tc_transact::{TxnId, TxnLock};
let version = TxnLock::new("version", 0);
let txn_one = TxnId::new(1);
let txn_two = TxnId::new(2);
let txn_three = TxnId::new(3);
assert_eq!(version.read(txn_one).await.unwrap(), 0);
*(version.write(txn_two).await.unwrap()) = 2;
version.commit(txn_two).await;
assert_eq!(version.read(txn_three).await.unwrap(), 2);
有关 TinyChain 的更多信息,请参阅 http://github.com/haydnv/tinychain
lib.rs
:
提供特质和数据结构以定义分布式事务上下文。
此库是 TinyChain 的一部分:http://github.com/haydnv/tinychain
依赖关系
~10–14MB
~261K SLoC