InstructionPipes

Trait InstructionPipes 

Source
pub trait InstructionPipes<'a>: Send + Sync {
    // Required methods
    fn run<'life0, 'life1, 'async_trait>(
        &'life0 mut self,
        nested_instruction: &'life1 NestedInstruction,
        metrics: Arc<MetricsCollection>,
    ) -> Pin<Box<dyn Future<Output = CarbonResult<()>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn filters(&self) -> &Vec<Box<dyn Filter + Send + Sync + 'static>>;
}
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.
  • filters: Returns a reference to the filters associated with this pipe, which are used by the pipeline to determine which instruction updates should be processed.

Required Methods§

Source

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

Source

fn filters(&self) -> &Vec<Box<dyn Filter + Send + Sync + 'static>>

Implementors§

Source§

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