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. 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.
The interfaces in pmem
are non-transactional. Crates like pmem-obj
provide transactional
interfaces by building on these pmem
functions.
This is not an official port of the NVM Library.
The official libpmem documentation can be found at: http://pmem.io/nvml/libpmem/
Modules
cell | |
nodrain |
The functions in this section provide optimized copying to persistent memory without draining |
pmap |
Persistent memory maps |
ptr |
The functions in this section provide optimized copying to persistent memory |
Functions
check_version |
Checks the version of the libpmem library |
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 |
msync |
Forces any changes in an object to be stored durably. |
msync_unsized | |
persist |
Force an object to be stored durably in persistent memory. |