pub struct Pager { /* private fields */ }
Expand description
Memory pager instance. Manages Page
instances.
Implementations§
Source§impl Pager
impl Pager
Sourcepub fn from_file(
file: &mut File,
page_size: usize,
offset: Option<usize>,
) -> Result<Self, Error>
pub fn from_file( file: &mut File, page_size: usize, offset: Option<usize>, ) -> Result<Self, Error>
Create a new instance from a file.
This is particularly useful when restoring the memory-pager
from disk,
as it’s possible to open a file, and directly convert it into a pager
instance.
§Options
The third argument is an optional offset
of usize
. This is useful to
ignore the first few bytes if the file has a header that isn’t part of the
bitfield’s body.
§Errors
This method will return an error if the File
length is not a multiple of
page_size
. It can also fail if it’s unable to read the file’s metadata.
§Examples
use failure::Error;
use pager::Pager;
use std::fs;
fn main () -> Result<(), Error> {
let mut file = fs::File::open("tests/fixtures/40_empty.bin")?;
let page_size = 10;
let _pager = Pager::from_file(&mut file, page_size, None)?;
Ok(())
}
Sourcepub fn get_mut_or_alloc(&mut self, page_num: usize) -> &mut Page
pub fn get_mut_or_alloc(&mut self, page_num: usize) -> &mut Page
Get a Page
mutably. The page will be allocated on first access.
Sourcepub fn get(&self, page_num: usize) -> Option<&Page>
pub fn get(&self, page_num: usize) -> Option<&Page>
Get a Page
wrapped in an Option
enum. Does not allocate on access.
Sourcepub fn get_mut(&mut self, page_num: usize) -> Option<&mut Page>
pub fn get_mut(&mut self, page_num: usize) -> Option<&mut Page>
Get a mutable Page
wrapped in an Option
enum. Does not allocate on
access.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Pager
impl RefUnwindSafe for Pager
impl Send for Pager
impl Sync for Pager
impl Unpin for Pager
impl UnwindSafe for Pager
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