Trait libmacchina::traits::MemoryReadout[][src]

pub trait MemoryReadout {
    fn new() -> Self;

    fn total(&self) -> Result<u64, ReadoutError> { ... }
fn free(&self) -> Result<u64, ReadoutError> { ... }
fn buffers(&self) -> Result<u64, ReadoutError> { ... }
fn cached(&self) -> Result<u64, ReadoutError> { ... }
fn reclaimable(&self) -> Result<u64, ReadoutError> { ... }
fn used(&self) -> Result<u64, ReadoutError> { ... } }

This trait provides common functions for querying the current memory state of the host device, most notably free and used.

Example

use libmacchina::traits::MemoryReadout;
use libmacchina::traits::ReadoutError;

pub struct MacOSMemoryReadout;

impl MemoryReadout for MacOSMemoryReadout {
    fn new() -> Self {
        MacOSMemoryReadout {}
    }

    fn total(&self) -> Result<u64, ReadoutError> {
        // Get the total physical memory for the machine
        Ok(512 * 1024) // Return 512mb in kilobytes.
    }

    fn used(&self) -> Result<u64, ReadoutError> {
        // Get the currently used memory.
        Ok(256 * 1024) // Return 256mb in kilobytes.
    }
}

Required methods

fn new() -> Self[src]

Creates a new instance of the structure which implements this trait.

Loading content...

Provided methods

fn total(&self) -> Result<u64, ReadoutError>[src]

This function should return the total available memory in kilobytes.

fn free(&self) -> Result<u64, ReadoutError>[src]

This function should return the free available memory in kilobytes.

fn buffers(&self) -> Result<u64, ReadoutError>[src]

This function should return the current memory value for buffers in kilobytes.

fn cached(&self) -> Result<u64, ReadoutError>[src]

This function should return the amount of cached content in memory in kilobytes.

fn reclaimable(&self) -> Result<u64, ReadoutError>[src]

This function should return the amount of reclaimable memory in kilobytes.

fn used(&self) -> Result<u64, ReadoutError>[src]

This function should return the amount of currently used memory in kilobytes.

Loading content...

Implementors

Loading content...