carbon_core::instruction

Trait InstructionPipes

source
pub trait InstructionPipes<'a>: Send + Sync {
    // Required method
    fn run<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        nested_instruction: &'life1 NestedInstruction,
        metrics: Vec<Arc<dyn Metrics>>,
    ) -> Pin<Box<dyn Future<Output = CarbonResult<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

An async trait for processing instructions within nested contexts.

The InstructionPipes trait allows for recursive processing of instructions that may contain nested instructions. This enables complex, hierarchical instruction handling for transactions.

§Required Methods

  • run: Processes a NestedInstruction, recursively processing any inner instructions.

Required Methods§

source

fn run<'life0, 'life1, 'async_trait>( &'life0 mut self, nested_instruction: &'life1 NestedInstruction, metrics: Vec<Arc<dyn Metrics>>, ) -> Pin<Box<dyn Future<Output = CarbonResult<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Implementors§

source§

impl<T: Send + 'static> InstructionPipes<'_> for InstructionPipe<T>