Struct memory_pager::Pager [−][src]
pub struct Pager { /* fields omitted */ }
Memory pager instance. Manages Page
instances.
Methods
impl Pager
[src]
impl Pager
pub fn new(page_size: usize) -> Self
[src]
pub fn new(page_size: usize) -> Self
pub fn from_file(
file: &mut File,
page_size: usize,
offset: Option<usize>
) -> Result<Self, Error>
[src]
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(()) }
pub fn get_mut_or_alloc(&mut self, page_num: usize) -> &mut Page
[src]
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.
pub fn get(&self, page_num: usize) -> Option<&Page>
[src]
pub fn get(&self, page_num: usize) -> Option<&Page>
Get a Page
wrapped in an Option
enum. Does not allocate on access.
pub fn get_mut(&mut self, page_num: usize) -> Option<&mut Page>
[src]
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.
pub fn len(&self) -> usize
[src]
pub fn len(&self) -> usize
The number of pages held by memory-pager
. Doesn't account for empty
entries. Comparable to vec.len()
in usage.
pub fn is_empty(&self) -> bool
[src]
pub fn is_empty(&self) -> bool
check whether the length
is zero.
pub fn page_size(&self) -> usize
[src]
pub fn page_size(&self) -> usize
Get the memory page size in bytes.
ⓘImportant traits for Iter<'a>pub fn iter(&self) -> Iter
[src]
pub fn iter(&self) -> Iter
Iterate over &Pages
.
Trait Implementations
impl Debug for Pager
[src]
impl Debug for Pager
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Default for Pager
[src]
impl Default for Pager