stratisd_proc_macros

Crates.iostratisd_proc_macros
lib.rsstratisd_proc_macros
version0.2.1
sourcesrc
created_at2021-10-18 16:18:33.975359
updated_at2023-08-23 18:57:15.252594
descriptionStratis daemon procedural macros
homepage
repositoryhttps://github.com/stratis-storage/stratisd/
max_upload_size
id466879
size30,054
(mulkieran)

documentation

README

stratisd_proc_macros

This crate is currently used to hold procedural macros for stratisd used to reduce boilerplate code through code generation.

#[strat_pool_impl_gen]

This macro is meant to be attached to an impl... StratPool item. It will add

Attributes

#[pool_rollback]: This attribute attached to a method in the impl block indicates that Stratis should monitor the return value of this method for potential rollback failures and, if detected, should put the pool in maintenance only mode until the rollback failure is corrected. All methods that need to handle a pool rollback by definition must take a &mut self reference so that the maintenance mode flag may be set on rollback failure.

#[pool_mutatating_action(STATE)]: This attribute attached to a method in the impl block indicates that this action can mutate the internal state of the pool. This includes any changes to the underlying data structures or metadata on the device. All methods that take a &mut self reference are by definition mutating actions. However, there may also be methods with a &self reference that are also mutating actions. STATE corresponds to a variant of the ActionAvailability enum such as Full, NoRequests, etc.

Commit count: 5586

cargo fmt