pub trait TurboTasksCallApi: Sync + Send {
// Required methods
fn dynamic_call(
&self,
native_fn: &'static NativeFunction,
this: Option<RawVc>,
arg: Box<dyn MagicAny>,
persistence: TaskPersistence,
) -> RawVc;
fn native_call(
&self,
native_fn: &'static NativeFunction,
this: Option<RawVc>,
arg: Box<dyn MagicAny>,
persistence: TaskPersistence,
) -> RawVc;
fn trait_call(
&self,
trait_method: &'static TraitMethod,
this: RawVc,
arg: Box<dyn MagicAny>,
persistence: TaskPersistence,
) -> RawVc;
fn run_once(
&self,
future: Pin<Box<dyn Future<Output = Result<()>> + Send + 'static>>,
) -> TaskId;
fn run_once_with_reason(
&self,
reason: StaticOrArc<dyn InvalidationReason>,
future: Pin<Box<dyn Future<Output = Result<()>> + Send + 'static>>,
) -> TaskId;
fn run_once_process(
&self,
future: Pin<Box<dyn Future<Output = Result<()>> + Send + 'static>>,
) -> TaskId;
}
Expand description
Common base trait for TurboTasksApi
and TurboTasksBackendApi
. Provides APIs for creating
tasks from function calls.
Required Methods§
Sourcefn dynamic_call(
&self,
native_fn: &'static NativeFunction,
this: Option<RawVc>,
arg: Box<dyn MagicAny>,
persistence: TaskPersistence,
) -> RawVc
fn dynamic_call( &self, native_fn: &'static NativeFunction, this: Option<RawVc>, arg: Box<dyn MagicAny>, persistence: TaskPersistence, ) -> RawVc
Calls a native function with arguments. Resolves arguments when needed with a wrapper task.
Sourcefn native_call(
&self,
native_fn: &'static NativeFunction,
this: Option<RawVc>,
arg: Box<dyn MagicAny>,
persistence: TaskPersistence,
) -> RawVc
fn native_call( &self, native_fn: &'static NativeFunction, this: Option<RawVc>, arg: Box<dyn MagicAny>, persistence: TaskPersistence, ) -> RawVc
Call a native function with arguments. All inputs must be resolved.
Sourcefn trait_call(
&self,
trait_method: &'static TraitMethod,
this: RawVc,
arg: Box<dyn MagicAny>,
persistence: TaskPersistence,
) -> RawVc
fn trait_call( &self, trait_method: &'static TraitMethod, this: RawVc, arg: Box<dyn MagicAny>, persistence: TaskPersistence, ) -> RawVc
Calls a trait method with arguments. First input is the self
object.
Uses a wrapper task to resolve