pub struct Memory {
page_table: [Option<Box<[Option<Box<[u8; 4096]>>; 1024]>>; 1024],
}
Fields§
§page_table: [Option<Box<[Option<Box<[u8; 4096]>>; 1024]>>; 1024]
Implementations§
source§impl Memory
impl Memory
pub fn new() -> Self
pub fn reset(&mut self)
pub fn get_range(&self, start: u32, len: u32) -> Vec<u8> ⓘ
pub fn set_range(&mut self, start: u32, data: &[u8])
fn build_page_table(&mut self, index: (usize, usize, usize))
fn to_index(index: usize) -> (usize, usize, usize)
fn get(&self, index: (usize, usize, usize)) -> &u8
fn get_mut(&mut self, index: (usize, usize, usize)) -> &mut u8
fn get_page(&self, index: (usize, usize, usize)) -> &[u8; 4096]
fn get_page_mut(&mut self, index: (usize, usize, usize)) -> &mut [u8; 4096]
fn align(index: usize) -> usize
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Memory
impl RefUnwindSafe for Memory
impl Send for Memory
impl Sync for Memory
impl Unpin for Memory
impl UnwindSafe for Memory
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T
in a tonic::Request