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}