Skip to main content

Invocation

Enum Invocation 

Source
#[non_exhaustive]
pub enum Invocation<R: DeserializeOwned> { Sync(SyncInvocation<R>), Distributed(InvocationHandle<R>), }
Expand description

Unified invocation type — same API for sync and distributed execution.

Created by app.call(). The caller doesn’t need to know whether the task was executed synchronously or routed through the broker.

Matches pynenc’s pattern where Task._call() returns either a ConcurrentInvocation or DistributedInvocation through a common BaseInvocation interface.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Sync(SyncInvocation<R>)

Sync execution (dev mode). Result is already computed.

§

Distributed(InvocationHandle<R>)

Distributed execution. Result available after runner processes it.

Implementations§

Source§

impl<R: DeserializeOwned> Invocation<R>

Source

pub fn invocation_id(&self) -> &InvocationId

Get the invocation’s unique identifier.

Source

pub async fn status(&self) -> RustvelloResult<InvocationStatus>

Get the current status of this invocation.

Source

pub async fn is_done(&self) -> RustvelloResult<bool>

Check if the invocation has finished (success or failure).

Source

pub async fn result(self) -> RustvelloResult<R>

Get the typed result.

For sync invocations, returns immediately. For distributed invocations, may fail if not yet complete.

Source

pub async fn wait(self, poll_interval: Duration) -> RustvelloResult<R>

Wait for the invocation to complete, polling at the given interval.

Source

pub async fn wait_timeout( self, timeout: Duration, poll_interval: Duration, ) -> RustvelloResult<R>

Wait with a timeout.

Source

pub fn is_sync(&self) -> bool

Returns true if this is a sync invocation.

Source

pub fn is_distributed(&self) -> bool

Returns true if this is a distributed invocation.

Trait Implementations§

Source§

impl<R: DeserializeOwned> Debug for Invocation<R>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<R> Freeze for Invocation<R>
where R: Freeze,

§

impl<R> !RefUnwindSafe for Invocation<R>

§

impl<R> Send for Invocation<R>
where R: Send,

§

impl<R> Sync for Invocation<R>
where R: Sync,

§

impl<R> Unpin for Invocation<R>
where R: Unpin,

§

impl<R> UnsafeUnpin for Invocation<R>
where R: UnsafeUnpin,

§

impl<R> !UnwindSafe for Invocation<R>

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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more