1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! 迭代式槽位校验直穿句柄(对标 libs/server/Transaction/TxnKeyManager.cs
//! 与 libs/server/Custom/CustomTransactionProcedure.cs:AddKey)
//!
//! 宿主在 RUNTXP 执行前把集群迭代校验切面以 [`SlotVerifyHandle`](即
//! `&dyn TxnSlotVerifyFace` 借用)直穿 `run_transaction_proc` 与
//! `TxnProcedure::prepare`,生命周期仅覆盖单次 run 调用窗口,单机 / 回放
//! 路径传 None。对标 C# TxnKeyManager 直持 respSession.clusterSession
//! 对象引用的虚分派,rust 等价物即 trait 对象借用,零堆分配、免手写擦除。
/// 迭代式槽位校验切面(宿主适配器 impl 载体)
///
/// libs/server/Transaction/TxnKeyManager.cs:ResetCacheSlotVerificationResult
/// libs/server/Transaction/TxnKeyManager.cs:VerifyKeyOwnership
/// libs/server/Transaction/TxnKeyManager.cs:WriteCachedSlotVerificationMessage
///
/// 三函数经本切面回调集群会话;`network_iterative_slot_verify` 返回 false
/// 表示校验失败(事务置 Aborted,失败原因已缓存待
/// [`Self::write_cached_slot_verification_message`] 落线)
/// 栈借型槽位校验句柄(trait 对象借用,对标 C# 直持会话引用;
/// 生命周期仅覆盖单次 run 调用窗口)
pub type SlotVerifyHandle<'a> = &'a dyn TxnSlotVerifyFace;