Crate pmem [] [src]

FFI bindings to libpmem

Rust bindings for the NVM Library http://pmem.io

The pmem library provides low level persistent memory support. The libraries above are implemented using pmem. Developers wishing to roll their own persistent memory algorithms will find this library useful, but most developers will likely use pmem-obj and let that library call pmem for them.

This is not an official port of the NVM Library.

The official libpmem documentation can be found at: http://pmem.io/nvml/libpmem/

Modules

nodrain

The functions in this section provide optimized copying to persistent memory without draining

persistentmap

Persistent memory maps

ptr

The functions in this section provide optimized copying to persistent memory

Functions

drain

Waits for any pmem stores to drain from HW buffers

errormsg

Description of the last error

flush

Flushes the processor caches

has_hw_drain

Wether or not the machine supports an explicit hardware drain instruction for persistent memory.

is_pmem

Checks if an entire object consists of persistent memory If true then it is safe to use persist(1) and other related functions to make changes durable for that memory range.

msync

Forces any changes in an object to be stored durably.

persist

Force an object to be stored durably in persistent memory.