reth_provider/traits/
rocksdb_provider.rs

1use crate::providers::RocksDBProvider;
2
3/// `RocksDB` provider factory.
4///
5/// This trait provides access to the `RocksDB` provider
6pub trait RocksDBProviderFactory {
7    /// Returns the `RocksDB` provider.
8    fn rocksdb_provider(&self) -> RocksDBProvider;
9
10    /// Adds a pending `RocksDB` batch to be committed when this provider is committed.
11    ///
12    /// This allows deferring `RocksDB` commits to happen at the same time as MDBX and static file
13    /// commits, ensuring atomicity across all storage backends.
14    #[cfg(all(unix, feature = "rocksdb"))]
15    fn set_pending_rocksdb_batch(&self, batch: rocksdb::WriteBatchWithTransaction<true>);
16}