#![warn(missing_docs)]
mod framing;
mod messages;
mod ring_buffer;
mod throughput;
pub use framing::{FrameError, FrameReader, FrameWriter, MAX_FRAME_SIZE, read_frame, write_frame};
pub use messages::{
BenchmarkConfig, DEFAULT_SAMPLE_COUNT, FailureKind, FlushReason, Sample, SampleBatch,
SupervisorCommand, WorkerCapabilities, WorkerMessage,
};
pub use ring_buffer::SampleRingBuffer;
pub use throughput::Throughput;
pub const PROTOCOL_VERSION: u32 = 5;
pub const PIN_CPU_ENV: &str = "FLUX_PIN_CPU";
pub const MAX_BATCH_SIZE: usize = 10_000;
pub const MAX_BATCH_BYTES: usize = 64 * 1024;
pub const HEARTBEAT_INTERVAL_NS: u64 = 100_000_000;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_sample_size() {
assert_eq!(std::mem::size_of::<Sample>(), 40);
}
#[test]
fn test_sample_alignment() {
assert_eq!(std::mem::align_of::<Sample>(), 8);
}
}