use crate::Block;
pub(crate) const SYNC_POINTS: u32 = 4;
pub(crate) struct Memory<'a> {
data: &'a mut [Block],
segment_length: u32,
}
impl<'a> Memory<'a> {
pub(crate) fn new(data: &'a mut [Block], segment_length: u32) -> Self {
Self {
data,
segment_length,
}
}
pub(crate) fn get_block(&self, idx: usize) -> Block {
self.data[idx]
}
pub(crate) fn get_block_mut(&mut self, idx: usize) -> &mut Block {
&mut self.data[idx]
}
#[inline]
pub(crate) fn len(&self) -> usize {
self.data.len()
}
#[inline]
pub(crate) fn segment_length(&self) -> u32 {
self.segment_length
}
}