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 aNestedInstruction
, 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.