Skip to main content

PreparedExecutor

Trait PreparedExecutor 

Source
pub trait PreparedExecutor: Send + Sync {
    // Required methods
    fn revalidate<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<(), ToolError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;
    fn execute<'async_trait>(
        self: Box<Self>,
        context: ToolExecutionContext,
    ) -> Pin<Box<dyn Future<Output = Result<ToolCompletion, ToolError>> + Send + 'async_trait>>
       where Self: 'async_trait;

    // Provided method
    fn revalidate_for_execution<'life0, 'async_trait>(
        &'life0 self,
    ) -> Pin<Box<dyn Future<Output = Result<(), ToolError>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait { ... }
}

Required Methods§

Source

fn revalidate<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), ToolError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Source

fn execute<'async_trait>( self: Box<Self>, context: ToolExecutionContext, ) -> Pin<Box<dyn Future<Output = Result<ToolCompletion, ToolError>> + Send + 'async_trait>>
where Self: 'async_trait,

Provided Methods§

Source

fn revalidate_for_execution<'life0, 'async_trait>( &'life0 self, ) -> Pin<Box<dyn Future<Output = Result<(), ToolError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Revalidation performed under the per-target serialization lock immediately before execution. The default preserves the ordinary validation behavior.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§