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.

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

Enums§

LogCommand
Commands for the log processor

Traits§

Lease
Lease management interface for key expiration.