Function async_stm::or

source · []
pub fn or<F, G, T>(f: F, g: G) -> StmResult<T> where
    F: FnOnce() -> StmResult<T>,
    G: FnOnce() -> StmResult<T>, 
Expand description

Run the first function; if it returns a Retry, run the second function; if that too returns Retry then combine the values they have read, so that the overall retry will react to any change.

If they return Failure then just return that result, since the transaction can be retried right now.