Crate drmem_api

source ·
Expand description

This crate is used by various, internal tasks of drmemd.

The interfaces and types defined in this crate are useful for those wishing to write a new back-end storage module or a driver for the drmemd executable.

Modules

  • This module defines types and interfaces that internal clients use to interact with the core of DrMem. The primary, internal client is the GraphQL interface.
  • This module defines types related to devices.
  • This module defines types and interfaces that drivers use to interact with the core of DrMem.

Enums

  • Enumerates all the errors that can be reported in DrMem. Authors for new drivers or storage backends should try to map their errors into one of these values. If no current value is appropriate, a new one could be added (requiring a new release of this crate) but make sure the new error code is generic enough that it may be useful for other drivers or backends. For instance, don’t add an error value that is specific to Redis. Add a more general value and use the associated description string to explain the details.

Traits

  • Defines the trait that a back-end needs to implement to provide storage for – and access to – the state of each driver’s devices.

Type Definitions

  • A specialization of std::result::Result<> where the error value is types::Error.