Skip to main content

Crate pipecrab_runtime

Crate pipecrab_runtime 

Source
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 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 bare DataFrame (downstream only).
maybe
Target-conditional Send/Sync bounds (Send native, vacuous on wasm). Target-conditional Send/Sync bounds: real on native, vacuous on wasm32.
offload
The offload helper for running blocking work off the orchestrator thread. offload runs CPU-bound or blocking work off the orchestrator thread.
outbound
Typed send surface for a stage’s output channels.
pipeline
The Pipeline builder and the per-stage preemptible run loop. Pipeline: a sequence of Stages that is itself a Stage.
stage
The Stage trait and its StageError. The Stage trait: the async, effecting half of a pipeline stage, and the preemptible run loop (Stage::run) that drives one.

Macros§

maybe_async_trait
Apply async_trait with the target-correct Send-ness, in one line instead of the two-attribute cfg_attr dance.