Expand description
pipecrab-runtime: runtime-agnostic async orchestration built on futures.
No async executor is baked in: the channels and run loop are plain
futures primitives, so the caller drives them (block_on natively,
spawn_local in the browser). Compiles for the host and
wasm32-unknown-unknown.
Re-exports§
pub use inbound::Inbound;pub use inbound::Received;pub use maybe::MaybeSend;pub use maybe::MaybeSendSync;pub use offload::offload;pub use outbound::Outbound;pub use pipeline::Pipeline;pub use pipeline::PipelineBuilder;pub use pipeline::PipelineEnds;pub use pipeline::link;pub use stage::Stage;pub use stage::StageError;
Modules§
- inbound
- Each stage has an Inbound mailbox with two typed lanes:
sys— the priority lane, drains first, carries(Direction, SystemFrame).data— the data lane, carries bareDataFrame(downstream only). - maybe
- Target-conditional
Send/Syncbounds (Sendnative, vacuous on wasm). Target-conditionalSend/Syncbounds: real on native, vacuous on wasm32. - offload
- The
offloadhelper for running blocking work off the orchestrator thread.offloadruns CPU-bound or blocking work off the orchestrator thread. - outbound
- Typed send surface for a stage’s output channels.
- pipeline
- The
Pipelinebuilder and the per-stage preemptible run loop.Pipeline: a sequence ofStages that is itself aStage. - stage
- The
Stagetrait and itsStageError. TheStagetrait: the async, effecting half of a pipeline stage, and the preemptible run loop (Stage::run) that drives one.
Macros§
- maybe_
async_ trait - Apply
async_traitwith the target-correctSend-ness, in one line instead of the two-attributecfg_attrdance.