diff options
Diffstat (limited to 'database/src/backends/rocksdb.rs')
| -rw-r--r-- | database/src/backends/rocksdb.rs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/database/src/backends/rocksdb.rs b/database/src/backends/rocksdb.rs index 1475dac..056af9e 100644 --- a/database/src/backends/rocksdb.rs +++ b/database/src/backends/rocksdb.rs @@ -4,7 +4,7 @@ Copyright (C) 2026 metamuffin <metamuffin.org> */ -use crate::backends::{Database, ReadTransaction, WriteTransaction, WriteTxnFunction}; +use crate::backends::{Database, ReadTransaction, WriteTransaction}; use anyhow::Result; use rocksdb::{Direction, ErrorKind, IteratorMode, OptimisticTransactionDB}; use std::path::Path; @@ -14,7 +14,10 @@ pub fn new(path: &Path) -> Result<OptimisticTransactionDB> { } impl Database for OptimisticTransactionDB { - fn write_transaction(&self, f: &mut WriteTxnFunction) -> Result<()> { + fn write_transaction( + &self, + f: &mut dyn FnMut(&mut dyn WriteTransaction) -> Result<()>, + ) -> Result<()> { loop { let mut txn = self.transaction(); f(&mut txn)?; @@ -25,7 +28,10 @@ impl Database for OptimisticTransactionDB { } } } - fn read_transaction(&self, f: &mut super::ReadTxnFunction) -> Result<()> { + fn read_transaction( + &self, + f: &mut dyn FnMut(&dyn ReadTransaction) -> Result<()>, + ) -> Result<()> { loop { let txn = self.transaction(); f(&txn)?; |