Expand description
SourcePipe is the background-producer face of the SendPipe root
form: a Signal -> () pipe with Err pinned to ProximaError. Where
Handler serves one request and returns one
response, a SourcePipe runs an unbounded loop that observes a
cancellation Signal cooperatively and returns once it has drained.
IntervalPipe and ScheduledTriggerPipe are the canonical implementors:
each wraps a run_*_loop(period, inner, factory, cancel) free function
that already takes a Signal and only returns when the signal fires.
SourcePipe is a blanket impl over the right SendPipe shape — nothing
to implement directly.
SourceHandle is the erased, shareable form App::source
stores; ProducerLifecycle drives
every registered source cooperatively via spawn_from_source.
Traits§
- Source
Factory - Config-driven source factory: the
SourcePipeanalogue ofPipeFactory.IntervalPipeandScheduledTriggerPipeeach register a thinSourceFactorysoApp::apply_settings’s producer-graph-config step resolves a TOML row straight into aSourceHandlevia the sharedFactoryRegistryprimitive. - Source
Pipe - The background-producer face of
SendPipe:Signal -> (),Errpinned toProximaError. Blanket-implemented for every qualifyingSendPipe— nothing to implement directly.
Functions§
- into_
source_ handle - Erase a
SourcePipeinto a shareableSourceHandle.
Type Aliases§
- Source
Factory Registry - The source registry —
proxima_core::FactoryRegistryspecialized todyn SourceFactory, mirroringPipeFactoryRegistry. - Source
Handle - Erased, shareable source handle — the runtime-dispatch alias
Arc<dyn SendDynPipe<Signal, ()>>thatApp::sourcestores.