## Issue Addressed Closes #2286 Closes #2538 Closes #2342 ## Proposed Changes Part II of major slasher optimisations after #2767 These changes will be backwards-incompatible due to the move to MDBX (and the schema change) 😱 * [x] Shrink attester keys from 16 bytes to 7 bytes. * [x] Shrink attester records from 64 bytes to 6 bytes. * [x] Separate `DiskConfig` from regular `Config`. * [x] Add configuration for the LRU cache size. * [x] Add a "migration" that deletes any legacy LMDB database.
17 lines
482 B
Rust
17 lines
482 B
Rust
use crate::Error;
|
|
|
|
/// Transform a transaction that would fail with a `MapFull` error into an optional result.
|
|
pub trait TxnMapFull<T, E> {
|
|
fn allow_map_full(self) -> Result<Option<T>, E>;
|
|
}
|
|
|
|
impl<T> TxnMapFull<T, Error> for Result<T, Error> {
|
|
fn allow_map_full(self) -> Result<Option<T>, Error> {
|
|
match self {
|
|
Ok(x) => Ok(Some(x)),
|
|
Err(Error::DatabaseError(mdbx::Error::MapFull)) => Ok(None),
|
|
Err(e) => Err(e),
|
|
}
|
|
}
|
|
}
|