pub struct FlowRegistration {
pub name: &'static str,
pub domain: SemanticDomain,
pub run: fn(&mut World, &mut LaneBus, &Runtime),
}Expand description
Registration entry for a Flow — submitted by each
concrete Flow implementation via inventory::submit!.
Type erasure: because Flow has an associated View
type, we cannot store trait objects directly. Each Flow provides a
trampoline run function that owns its lifecycle (typically delegating
to a static OnceLock<Mutex<MyFlow>> instance) and publishes its View
into the [LaneBus].
Fields§
§name: &'static strStable identifier — matches Flow::NAME.
domain: SemanticDomainDomain this Flow serves — matches Flow::DOMAIN.
run: fn(&mut World, &mut LaneBus, &Runtime)Trampoline that runs select + project and publishes the View.
Trait Implementations§
impl Collect for FlowRegistration
Auto Trait Implementations§
impl Freeze for FlowRegistration
impl RefUnwindSafe for FlowRegistration
impl Send for FlowRegistration
impl Sync for FlowRegistration
impl Unpin for FlowRegistration
impl UnsafeUnpin for FlowRegistration
impl UnwindSafe for FlowRegistration
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
Mutably borrows from an owned value. Read more