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. |