Struct memory_pager::Pager[][src]

pub struct Pager { /* fields omitted */ }

Memory pager instance. Manages Page instances.

Methods

impl Pager
[src]

Create a new Pager instance with a page_size.

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(())
}

Get a Page mutably. The page will be allocated on first access.

Get a Page wrapped in an Option enum. Does not allocate on access.

Get a mutable Page wrapped in an Option enum. Does not allocate on access.

The number of pages held by memory-pager. Doesn't account for empty entries. Comparable to vec.len() in usage.

check whether the length is zero.

Get the memory page size in bytes.

Important traits for Iter<'a>

Iterate over &Pages.

Trait Implementations

impl Debug for Pager
[src]

Formats the value using the given formatter. Read more

impl Default for Pager
[src]

Create a new Pager instance with a page_size of 1024.

Returns the "default value" for a type. Read more

Auto Trait Implementations

impl Send for Pager

impl Sync for Pager