#transaction #tiny-chain #executor #data-structures

tc-transact

为 TinyChain 事务提供特质和锁定工具

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 并发

Download history 6/week @ 2024-04-29 8/week @ 2024-05-06 6/week @ 2024-05-13 6/week @ 2024-05-20 32/week @ 2024-05-27 17/week @ 2024-06-03 18/week @ 2024-06-10 8/week @ 2024-06-17 14/week @ 2024-06-24 83/week @ 2024-07-01 2/week @ 2024-07-08 24/week @ 2024-07-15 4/week @ 2024-07-22 122/week @ 2024-07-29 16/week @ 2024-08-05 269/week @ 2024-08-12

每月 414 次下载
用于 11 个 Crates10 直接)

Apache-2.0

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