Module storage

Module storage 

Source
Expand description

Storage layer implementations

Provides file-based and RocksDB storage backends. Storage layer for d-engine.

This module provides pluggable and extensible storage components for persisting Raft state and application data. It defines core traits, adapters, and utilities to support different backend implementations.

Key responsibilities include:

  • Managing Raft log entries and snapshots.
  • Providing an abstraction layer (StorageEngine) for persistence.
  • Supporting in-memory buffering and disk-backed storage (e.g., via Sled).
  • Coordinating state machine application and snapshot lifecycle.
  • Managing key expiration through lease-based lifecycle management.

This module is designed so developers can easily implement custom storage backends without changing the Raft protocol logic.

Re-exports§

pub use adaptors::*;

Modules§

adaptors
Storage adaptors providing different backend implementations.

Structs§

BufferedRaftLog
High-performance buffered Raft log with event-driven architecture
DefaultLease
Default lease implementation with single-index lock-free architecture.

Traits§

Lease
Lease management interface for key expiration.