Skip to main content

InlineRegistry

Struct InlineRegistry 

Source
pub struct InlineRegistry { /* private fields */ }
Expand description

A pluggable registry of inline (Rust function pointer) stage implementations.

The Noether stdlib stages are registered automatically via the internal find_implementation match table. Downstream crates that want to ship their own Pure Rust stages — without modifying noether-core — can build an InlineRegistry, call register for each of their stages, and pass it to InlineExecutor::from_store_with_registry or crate::executor::composite::CompositeExecutor::from_store_with_registry.

§Example

use noether_engine::executor::InlineRegistry;

let mut registry = InlineRegistry::new();
registry.register("Evaluate a sprint DAG from events", my_dag_eval_fn);
registry.register("Check agent health from heartbeat", my_health_check_fn);

let executor = CompositeExecutor::from_store_with_registry(&store, registry);

Implementations§

Source§

impl InlineRegistry

Source

pub fn new() -> Self

Create an empty registry. The Noether stdlib is always available regardless — it is built into the binary via the static match table.

Source

pub fn register( &mut self, description: impl Into<String>, f: StageFn, ) -> &mut Self

Register a stage implementation keyed by its description string (the same string used in the stage spec and noether stage search).

If the same description is registered twice the later call wins. Returns &mut Self for chaining.

Source

pub fn len(&self) -> usize

Returns the number of explicitly-registered (non-stdlib) stages.

Source

pub fn is_empty(&self) -> bool

Returns true if no extra stages have been registered.

Trait Implementations§

Source§

impl Default for InlineRegistry

Source§

fn default() -> InlineRegistry

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,