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§
- Buffered
Raft Log - High-performance buffered Raft log with event-driven architecture
- Default
Lease - Default lease implementation with single-index lock-free architecture.
- File
LogStore - File-based log store implementation
- File
Meta Store - File-based metadata store implementation
- File
State Machine - File-based state machine implementation with persistence
- File
Storage Engine - File-based Raft log storage
- RocksDB
LogStore - RocksDB-based log store implementation
- RocksDB
Meta Store - RocksDB-based metadata store implementation
- RocksDB
State Machine - RocksDB-based state machine implementation with lease support
- RocksDB
Storage Engine - RocksDB-based Raft log storage
Enums§
- LogCommand
- Commands for the log processor
Traits§
- Lease
- Lease management interface for key expiration.