Skip to main content

NodeExecutor

Trait NodeExecutor 

Source
pub trait NodeExecutor: Sync {
    type RunFuture<'a>: Future<Output = Result<()>> + Send + 'a
       where Self: 'a;

    // Required method
    fn run(
        &self,
        ctx: NodeContext,
        inputs: PortsIn,
        outputs: PortsOut,
    ) -> Self::RunFuture<'_>;
}
Expand description

Async node interface for the first runtime skeleton.

The trait matches the proposal’s intended boundary shape early, but the PortsIn and PortsOut values remain Pureflow-owned adapters. Runtime beads can change the transport behind those handles without leaking raw async runtime primitives into every executor signature.

Required Associated Types§

Source

type RunFuture<'a>: Future<Output = Result<()>> + Send + 'a where Self: 'a

Future returned by one node execution attempt.

Required Methods§

Source

fn run( &self, ctx: NodeContext, inputs: PortsIn, outputs: PortsOut, ) -> Self::RunFuture<'_>

Execute one runtime-managed node boundary.

§Errors

Returns an error if the node cannot complete the requested unit of work.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§