use crate::metadata::OpenedFileInfo;
use crate::read::PrefixReadTermination;
use crate::read::ReadOptions;
#[derive(Debug)]
pub struct PrefixReadOutcome {
bytes: Vec<u8>,
info: OpenedFileInfo,
options: ReadOptions,
max_bytes: usize,
termination: PrefixReadTermination,
}
impl PrefixReadOutcome {
#[inline]
pub(crate) fn new(
bytes: Vec<u8>,
info: OpenedFileInfo,
options: ReadOptions,
max_bytes: usize,
termination: PrefixReadTermination,
) -> Self {
Self {
bytes,
info,
options,
max_bytes,
termination,
}
}
#[inline]
#[must_use]
pub fn bytes(&self) -> &[u8] {
&self.bytes
}
#[inline]
#[must_use]
pub const fn info(&self) -> &OpenedFileInfo {
&self.info
}
#[inline]
#[must_use]
pub const fn options(&self) -> &ReadOptions {
&self.options
}
#[inline]
#[must_use]
pub const fn max_bytes(&self) -> usize {
self.max_bytes
}
#[inline]
#[must_use]
pub const fn termination(&self) -> PrefixReadTermination {
self.termination
}
#[inline]
#[must_use]
pub fn into_bytes(self) -> Vec<u8> {
self.bytes
}
}