Skip to main content

Durability

Struct Durability 

Source
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>

Source

pub fn new<SIn>( interface: &'static str, function: &'static str, function_type: DurableFunctionType, input: &SIn, ) -> Self
where SIn: Clone + IntoSchema,

Source

pub fn enable_forced_commit(&mut self)

Source

pub fn with_forced_commit(self) -> Self

Source

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,

Source

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,

Source

pub fn run_infallible<Ok, F>(self, body: F) -> Ok
where F: FnOnce() -> Ok, Ok: Clone + From<SOk>, SOk: FromSchema + From<Ok>, SErr: FromSchema + Display, Result<SOk, SErr>: IntoSchema,

Source

pub async fn run_infallible_async<Ok, F, Fut>(self, body: F) -> Ok
where 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>
where PhantomData<SOk>: Freeze, PhantomData<SErr>: Freeze,

§

impl<SOk, SErr> RefUnwindSafe for Durability<SOk, SErr>

§

impl<SOk, SErr> Send for Durability<SOk, SErr>
where PhantomData<SOk>: Send, PhantomData<SErr>: Send,

§

impl<SOk, SErr> Sync for Durability<SOk, SErr>
where PhantomData<SOk>: Sync, PhantomData<SErr>: Sync,

§

impl<SOk, SErr> Unpin for Durability<SOk, SErr>
where PhantomData<SOk>: Unpin, PhantomData<SErr>: Unpin,

§

impl<SOk, SErr> UnsafeUnpin for Durability<SOk, SErr>

§

impl<SOk, SErr> UnwindSafe for Durability<SOk, SErr>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Resource for T
where T: 'static,

Source§

type Rep = Option<T>

The type which is actually stored in-memory for this resource. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TupleOrUnit<()> for T

Source§

fn into(self)