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.

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.
FileLogStore
File-based log store implementation
FileMetaStore
File-based metadata store implementation
FileStateMachine
File-based state machine implementation with persistence
FileStorageEngine
File-based Raft log storage
RocksDBLogStore
RocksDB-based log store implementation
RocksDBMetaStore
RocksDB-based metadata store implementation
RocksDBStateMachine
RocksDB-based state machine implementation with lease support
RocksDBStorageEngine
RocksDB-based Raft log storage

Traits§

Lease
Lease management interface for key expiration.