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(
&self,
future: Pin<Box<dyn Future<Output = Result<()>> + Send + 'static>>,
) -> Pin<Box<dyn Future<Output = Result<(), TurboTasksExecutionError>> + Send>>;
fn run_once(
&self,
future: Pin<Box<dyn Future<Output = Result<()>> + Send + 'static>>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send>>;
fn run_once_with_reason(
&self,
reason: StaticOrArc<dyn InvalidationReason>,
future: Pin<Box<dyn Future<Output = Result<()>> + Send + 'static>>,
) -> Pin<Box<dyn Future<Output = Result<()>> + Send>>;
fn start_once_process(
&self,
future: Pin<Box<dyn Future<Output = ()> + Send + 'static>>,
);
fn send_compilation_event(&self, event: Arc<dyn CompilationEvent>);
fn get_task_name(&self, task: TaskId) -> String;
}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
fn run( &self, future: Pin<Box<dyn Future<Output = Result<()>> + Send + 'static>>, ) -> Pin<Box<dyn Future<Output = Result<(), TurboTasksExecutionError>> + Send>>
fn run_once( &self, future: Pin<Box<dyn Future<Output = Result<()>> + Send + 'static>>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send>>
fn run_once_with_reason( &self, reason: StaticOrArc<dyn InvalidationReason>, future: Pin<Box<dyn Future<Output = Result<()>> + Send + 'static>>, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send>>
fn start_once_process( &self, future: Pin<Box<dyn Future<Output = ()> + Send + 'static>>, )
Sourcefn send_compilation_event(&self, event: Arc<dyn CompilationEvent>)
fn send_compilation_event(&self, event: Arc<dyn CompilationEvent>)
Sends a compilation event to subscribers.
Sourcefn get_task_name(&self, task: TaskId) -> String
fn get_task_name(&self, task: TaskId) -> String
Returns a human-readable name for the given task.