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