#![warn(missing_docs)]
mod framing;
mod messages;
mod ring_buffer;
pub use framing::{FrameError, FrameReader, FrameWriter, MAX_FRAME_SIZE, read_frame, write_frame};
pub use messages::{
BenchmarkConfig, FailureKind, FlushReason, Sample, SampleBatch, SupervisorCommand,
WorkerCapabilities, WorkerMessage,
};
pub use ring_buffer::SampleRingBuffer;
pub const PROTOCOL_VERSION: u32 = 1;
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>(), 32);
}
#[test]
fn test_sample_alignment() {
assert_eq!(std::mem::align_of::<Sample>(), 8);
}
}