pub trait FunctionHandler:
Debug
+ Send
+ Sync {
// Required method
fn call<'life0, 'async_trait>(
&'life0 self,
ctx: ExecutionContext,
input: Value,
) -> Pin<Box<dyn Future<Output = AppResult<Value>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn observability(&self) -> Option<FunctionHandlerObservability> { ... }
fn terminal_observation(&self) -> Option<FunctionTerminalObservation> { ... }
}Required Methods§
fn call<'life0, 'async_trait>(
&'life0 self,
ctx: ExecutionContext,
input: Value,
) -> Pin<Box<dyn Future<Output = AppResult<Value>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Provided Methods§
fn observability(&self) -> Option<FunctionHandlerObservability>
Sourcefn terminal_observation(&self) -> Option<FunctionTerminalObservation>
fn terminal_observation(&self) -> Option<FunctionTerminalObservation>
Requests one bounded Host-owned terminal observation if this handler’s run becomes dead. The default keeps linked functions unchanged.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".