#[derive(Clone, Copy, Debug, Default, Eq, PartialEq)]
pub enum VerificationMode {
Full,
#[default]
OnRead,
}
#[derive(Clone, Debug)]
pub struct DatabaseOptions {
pub(crate) verification: VerificationMode,
pub(crate) max_database_bytes: u64,
pub(crate) overlay_memory_limit: usize,
}
impl DatabaseOptions {
pub fn with_verification(mut self, verification: VerificationMode) -> Self {
self.verification = verification;
self
}
pub fn with_max_database_bytes(mut self, max_database_bytes: u64) -> Self {
self.max_database_bytes = max_database_bytes;
self
}
pub fn with_overlay_memory_limit(mut self, overlay_memory_limit: usize) -> Self {
self.overlay_memory_limit = overlay_memory_limit;
self
}
}
impl Default for DatabaseOptions {
fn default() -> Self {
Self {
verification: VerificationMode::OnRead,
max_database_bytes: 1 << 40,
overlay_memory_limit: 64 * 1024 * 1024,
}
}
}