Function async_stm::atomically_or_err
source · [−]pub async fn atomically_or_err<F, T>(
f: F
) -> Result<T, Box<dyn Error + Send + Sync>> where
F: Fn() -> StmDynResult<T>,
Expand description
Create a new transaction and run f
until it returns a successful result and
can be committed without running into version conflicts, or until it returns
an Abort
in which case the contained error is returned.
Make sure f
is free of any side effects, becuase it can be called repeatedly
and also be aborted.