3 个不稳定版本
| 0.2.1 | 2023 年 8 月 23 日 |
|---|---|
| 0.2.0 | 2023 年 1 月 15 日 |
| 0.1.0 | 2021 年 10 月 18 日 |
457 在 #存储 中排名
每月 68 次下载
在 stratisd 中使用
14KB
241 行
stratisd_proc_macros
该包目前用于存储 stratisd 使用的进程宏,通过代码生成减少样板代码。
#[strat_pool_impl_gen]
此宏旨在附加到 impl... StratPool 项。它将添加
属性
#[pool_rollback]:此属性附加到 impl 块中的方法,表示 Stratis 应该监控此方法的返回值以检测潜在的回滚失败,如果检测到,则应将池置于仅维护模式,直到回滚失败被纠正。所有需要通过定义处理池回滚的方法都必须接受一个 &mut self 引用,以便在回滚失败时设置维护模式标志。
#[pool_mutatating_action(STATE)]:此属性附加到 impl 块中的方法,表示此操作可以修改池的内部状态。这包括对设备上的底层数据结构或元数据的任何更改。所有接受 &mut self 引用的方法在定义上都是修改操作。然而,也可能存在具有 &self 引用的方法,这些方法也是修改操作。STATE 与 ActionAvailability 枚举的某个变体相对应,例如 Full、NoRequests 等。
依赖关系
~1.5MB
~35K SLoC