[−][src]Struct memory_pager::Pager
Memory pager instance. Manages Page
instances.
Methods
impl Pager
[src]
pub fn new(page_size: usize) -> Self
[src]
pub fn from_file(
file: &mut File,
page_size: usize,
offset: Option<usize>
) -> Result<Self, Error>
[src]
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]
Get a Page
mutably. The page will be allocated on first access.
pub fn get(&self, page_num: usize) -> Option<&Page>
[src]
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]
Get a mutable Page
wrapped in an Option
enum. Does not allocate on
access.
pub fn len(&self) -> usize
[src]
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]
check whether the length
is zero.
pub fn page_size(&self) -> usize
[src]
Get the memory page size in bytes.
ⓘImportant traits for Iter<'a>pub fn iter(&self) -> Iter
[src]
Iterate over &Pages
.
Trait Implementations
Auto Trait Implementations
impl Unpin for Pager
impl Sync for Pager
impl Send for Pager
impl UnwindSafe for Pager
impl RefUnwindSafe for Pager
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,