oxdock_pipe/lib.rs
1//! Anonymous pipe backends for OxDock: spillable script buffers, OS kernel
2//! pairs, and the owned handle slots that bind them lazily.
3//!
4//! This crate sits below `oxdock-parser` (whose `PIPE` values hold
5//! [`PipeHandle`]s) and beside `oxdock-process` (whose stdio types the
6//! backends plug into). No central pipe index lives here or anywhere:
7//! resolution, keepers, and assertions all operate on handles already in
8//! hand.
9
10pub mod backend;
11pub mod slot;
12pub mod spill;
13
14pub use backend::{
15 KeeperGuard, PipeInfo, PipeInner, PipeKindDesc, ScriptPipe, ScriptPipeEndpoint, inspect, peek,
16 script_backend,
17};
18pub use slot::{
19 Materialized, PipeHandle, SharedInput, SharedOutput, Slot, materialize, new_handle_in_task,
20};
21#[cfg(not(miri))]
22pub use slot::{OsPipeEntry, OsPipeReader, OsPipeWriter, create_os_pipe};
23pub use spill::{DEFAULT_MAX_BACKLOG, DEFAULT_SPILL_THRESHOLD, SpillBuffer};