pub const DEFAULT_READ_BUF_SIZE: usize = 8192;
pub const DEFAULT_WRITE_BUF_SIZE: usize = 8192;
pub const SMALL_READ_BUF_SIZE: usize = 4096;
pub const SMALL_WRITE_BUF_SIZE: usize = 4096;
pub const LARGE_READ_BUF_SIZE: usize = 16384;
pub const LARGE_WRITE_BUF_SIZE: usize = 16384;
pub const STAGING_BUF_INITIAL_CAP: usize = 256;
#[derive(Debug, Clone, Copy)]
pub struct BufferConfig {
pub read_buf_size: usize,
pub write_buf_size: usize,
}
impl Default for BufferConfig {
fn default() -> Self {
Self {
read_buf_size: DEFAULT_READ_BUF_SIZE,
write_buf_size: DEFAULT_WRITE_BUF_SIZE,
}
}
}
impl BufferConfig {
#[must_use]
pub const fn small() -> Self {
Self {
read_buf_size: SMALL_READ_BUF_SIZE,
write_buf_size: SMALL_WRITE_BUF_SIZE,
}
}
#[must_use]
pub const fn large() -> Self {
Self {
read_buf_size: LARGE_READ_BUF_SIZE,
write_buf_size: LARGE_WRITE_BUF_SIZE,
}
}
#[must_use]
pub const fn custom(read_buf_size: usize, write_buf_size: usize) -> Self {
Self {
read_buf_size,
write_buf_size,
}
}
}