pub struct FsExecutor { /* private fields */ }Expand description
Wet-run ActionExecutor — performs real filesystem and process work.
Dispatch is registry-driven (M4-B S1): every action is resolved to an
crate::plugin::ActionPlugin via the embedded Registry and the
plugin’s execute method is invoked. The registry is wrapped in an
Arc so the executor stays Clone and cheap to share across
threads; cloning the executor bumps a refcount rather than duplicating
plugin state.
Callers are responsible for driving the sequence (plan-phase validators,
ordering, rollback on failure); FsExecutor operates on one action at a
time and never looks at peers.
Implementations§
Source§impl FsExecutor
impl FsExecutor
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct a fresh wet-run executor backed by the full Tier-1
built-in registry (Registry::bootstrap). Equivalent to the
pre-M4-B signature; existing test sites continue to compile.
Sourcepub fn with_registry(registry: Arc<Registry>) -> Self
pub fn with_registry(registry: Arc<Registry>) -> Self
Construct a wet-run executor backed by an explicit registry.
Used by the sync driver (which builds one registry at CLI entry
and shares it across executors) and by tests that need to exercise
the ExecError::UnknownAction path or shadow a built-in. For
typical call sites the bootstrapped FsExecutor::new is the
right default.
Trait Implementations§
Source§impl ActionExecutor for FsExecutor
impl ActionExecutor for FsExecutor
Source§impl Clone for FsExecutor
impl Clone for FsExecutor
Source§fn clone(&self) -> FsExecutor
fn clone(&self) -> FsExecutor
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for FsExecutor
impl Debug for FsExecutor
Auto Trait Implementations§
impl Freeze for FsExecutor
impl !RefUnwindSafe for FsExecutor
impl Send for FsExecutor
impl Sync for FsExecutor
impl Unpin for FsExecutor
impl UnsafeUnpin for FsExecutor
impl !UnwindSafe for FsExecutor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more