Skip to main content

laminar_core/shuffle/
mod.rs

1//! Cross-instance shuffle over Tonic gRPC client-streaming: one
2//! client-streaming call per peer pair carrying [`ShuffleMessage`](crate::shuffle::message::ShuffleMessage) frames.
3//! Backpressure is the HTTP/2 flow-control window plus the bounded crossfire
4//! inbound queue on the consuming side. The real transport is compiled under
5//! `cluster`; the default build keeps a networking-free shim.
6
7pub mod message;
8pub mod routing;
9pub mod transport;
10
11pub use message::ShuffleMessage;
12pub use routing::{
13    logical_batch_bytes, route_checkpointed_batch, row_vnodes, CheckpointRoutePlan, LocalRoute,
14    RemoteRoute, ShuffleRoutingError, ROUTE_MAX_BATCH_BYTES, ROUTE_MAX_BATCH_ROWS,
15    ROUTE_TARGET_BATCH_BYTES,
16};
17pub use transport::{
18    is_scope_cancelled, ReceivedBatch, ReceivedFrontierCut, ReceivedShuffle, ShuffleBatchAdmission,
19    ShufflePeerId, ShuffleReceiver, ShuffleSender,
20};
21#[cfg(feature = "cluster")]
22pub use transport::{shuffle_send_may_have_been_admitted, SHUFFLE_ADDR_KEY};