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    route_checkpointed_batch, row_vnodes, CheckpointRoutePlan, LocalRoute, RemoteRoute,
14    ShuffleRoutingError, ROUTE_MAX_BATCH_BYTES, ROUTE_MAX_BATCH_ROWS, ROUTE_TARGET_BATCH_BYTES,
15};
16#[cfg(feature = "cluster")]
17pub use transport::SHUFFLE_ADDR_KEY;
18pub use transport::{
19    is_scope_cancelled, ReceivedBatch, ReceivedShuffle, ShuffleBatchAdmission, ShufflePeerId,
20    ShuffleReceiver, ShuffleSender,
21};