pub struct Durability<SOk, SErr> { /* private fields */ }Expand description
Prepares a custom durable operation without beginning it.
Synchronous runners begin when called. Async runners begin, including call observation, on their first poll and install their execution scope only while being polled or dropped. An unpolled async runner performs no custom invocation. Nested operations must complete or be dropped before the enclosing body returns; detached work does not inherit this scope.
Implementations§
Source§impl<SOk, SErr> Durability<SOk, SErr>
impl<SOk, SErr> Durability<SOk, SErr>
pub fn new<SIn>(
interface: &'static str,
function: &'static str,
function_type: DurableFunctionType,
input: &SIn,
) -> Selfwhere
SIn: Clone + IntoSchema,
pub fn enable_forced_commit(&mut self)
pub fn with_forced_commit(self) -> Self
pub fn run<Ok, Err, F>(self, body: F) -> Result<Ok, Err>where
F: FnOnce() -> Result<Ok, Err>,
Ok: Clone + From<SOk>,
Err: From<SErr>,
SErr: FromSchema + for<'a> From<&'a Err>,
SOk: FromSchema + From<Ok>,
Result<SOk, SErr>: IntoSchema,
pub async fn run_async<Ok, Err, F, Fut>(self, body: F) -> Result<Ok, Err>where
F: FnOnce() -> Fut,
Fut: Future<Output = Result<Ok, Err>>,
Ok: Clone + From<SOk>,
Err: From<SErr>,
SErr: FromSchema + for<'a> From<&'a Err>,
SOk: FromSchema + From<Ok>,
Result<SOk, SErr>: IntoSchema,
pub fn run_infallible<Ok, F>(self, body: F) -> Okwhere
F: FnOnce() -> Ok,
Ok: Clone + From<SOk>,
SOk: FromSchema + From<Ok>,
SErr: FromSchema + Display,
Result<SOk, SErr>: IntoSchema,
pub async fn run_infallible_async<Ok, F, Fut>(self, body: F) -> Okwhere
F: FnOnce() -> Fut,
Fut: Future<Output = Ok>,
Ok: Clone + From<SOk>,
SOk: FromSchema + From<Ok>,
SErr: FromSchema + Display,
Result<SOk, SErr>: IntoSchema,
Auto Trait Implementations§
impl<SOk, SErr> Freeze for Durability<SOk, SErr>
impl<SOk, SErr> RefUnwindSafe for Durability<SOk, SErr>
impl<SOk, SErr> Send for Durability<SOk, SErr>
impl<SOk, SErr> Sync for Durability<SOk, SErr>
impl<SOk, SErr> Unpin for Durability<SOk, SErr>
impl<SOk, SErr> UnsafeUnpin for Durability<SOk, SErr>
impl<SOk, SErr> UnwindSafe for Durability<SOk, SErr>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more