pub struct PipelineRunner { /* private fields */ }Expand description
Runs pipelines by spawning tasks and connecting them via channels.
Implementations§
Source§impl PipelineRunner
impl PipelineRunner
Sourcepub fn new(tools: Arc<ToolRegistry>) -> Self
pub fn new(tools: Arc<ToolRegistry>) -> Self
Create a new pipeline runner with the given tool registry.
Sourcepub async fn run(
&self,
commands: &[Command],
ctx: &mut ExecContext,
dispatcher: &dyn CommandDispatcher,
) -> ExecResult
pub async fn run( &self, commands: &[Command], ctx: &mut ExecContext, dispatcher: &dyn CommandDispatcher, ) -> ExecResult
Execute a pipeline of commands.
Each command’s stdout becomes the next command’s stdin. If the pipeline contains scatter/gather, delegates to ScatterGatherRunner. Returns the result of the last command in the pipeline.
The dispatcher handles the full command resolution chain (user tools,
builtins, scripts, external commands, backend tools). The runner handles
I/O routing: stdin redirects, piping between commands, and output redirects.
Sourcepub async fn run_sequential(
&self,
commands: &[Command],
ctx: &mut ExecContext,
dispatcher: &dyn CommandDispatcher,
) -> ExecResult
pub async fn run_sequential( &self, commands: &[Command], ctx: &mut ExecContext, dispatcher: &dyn CommandDispatcher, ) -> ExecResult
Execute commands sequentially without scatter/gather detection.
Used by ScatterGatherRunner for pre_scatter, post_gather, and parallel
workers. Breaks the async recursion chain (run → scatter → run).
Trait Implementations§
Source§impl Clone for PipelineRunner
impl Clone for PipelineRunner
Source§fn clone(&self) -> PipelineRunner
fn clone(&self) -> PipelineRunner
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more