mod advance;
mod bound;
mod error;
mod plan;
mod start;
mod track;
pub(in crate::body) use advance::Advance;
use bound::{Bound, Kind};
pub use error::Error;
pub use plan::Plan;
pub use start::Start;
pub use track::Track;
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
pub enum Retention {
Retained,
Discarded,
}
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
pub enum Stream {
Streaming,
Buffered,
}
const _: () = assert!(core::mem::size_of::<Stream>() == 1);
#[derive(Clone, Copy, PartialEq, Eq)]
pub enum Length {
Known(usize),
Unknown,
}
impl Length {
pub const fn from_option(value: Option<usize>) -> Self {
match value {
Some(value) => Self::Known(value),
None => Self::Unknown,
}
}
}
const _: () = assert!(core::mem::size_of::<Length>() == 2 * core::mem::size_of::<usize>());
#[derive(Debug)]
pub struct Open;
#[derive(Debug)]
pub struct Finished;