pub struct UnifiedStoreConfig {
pub manager_config: ManagerConfig,
pub auto_index_refs: bool,
pub auto_index_id: bool,
pub max_cross_refs: usize,
pub enable_wal: bool,
pub durability_mode: DurabilityMode,
pub group_commit: GroupCommitOptions,
pub data_dir: Option<PathBuf>,
pub embedded_wal_path: Option<PathBuf>,
pub page_cache_slots: Option<usize>,
}Expand description
Configuration for UnifiedStore
Fields§
§manager_config: ManagerConfigConfiguration for segment managers
auto_index_refs: boolAutomatically index cross-references on insert
auto_index_id: boolAutomatically build a HASH index on a user id column the first
time a row carrying that column is inserted into a collection.
Mirrors PostgreSQL’s implicit primary-key index and Mongo’s _id
default index — without it, WHERE id = N falls through to a
full segment scan because RedDB has no concept of an automatic
primary-key index on user-declared columns. See docs/perf/ delete-sequential-2026-05-06.md for the perf rationale.
Defaults to true; set to false to opt out per workload.
max_cross_refs: usizeMaximum cross-references per entity
enable_wal: boolEnable write-ahead logging
durability_mode: DurabilityModeDurability profile for paged writes.
group_commit: GroupCommitOptionsGroup-commit batching knobs when using grouped durability.
data_dir: Option<PathBuf>Data directory path
embedded_wal_path: Option<PathBuf>Embedded single-file artifact used for the internal WAL stream.
page_cache_slots: Option<usize>Preallocated page-cache slot count (ADR 0073 §2). None leaves the
pager on its own structural default; the promoted boot path always
supplies a count derived from the page-cache budget share, so the
default is reached only by direct library callers.
Implementations§
Source§impl UnifiedStoreConfig
impl UnifiedStoreConfig
Sourcepub fn with_data_dir(self, path: impl Into<PathBuf>) -> UnifiedStoreConfig
pub fn with_data_dir(self, path: impl Into<PathBuf>) -> UnifiedStoreConfig
Create config with data directory
Sourcepub fn with_wal(self) -> UnifiedStoreConfig
pub fn with_wal(self) -> UnifiedStoreConfig
Enable WAL
pub fn with_durability_mode(self, mode: DurabilityMode) -> UnifiedStoreConfig
pub fn with_group_commit( self, options: GroupCommitOptions, ) -> UnifiedStoreConfig
pub fn with_embedded_wal_path( self, path: impl Into<PathBuf>, ) -> UnifiedStoreConfig
Sourcepub fn with_page_cache_slots(self, slots: usize) -> UnifiedStoreConfig
pub fn with_page_cache_slots(self, slots: usize) -> UnifiedStoreConfig
Pre-size the page cache from its budget share (ADR 0073 §2).
Sourcepub fn with_max_refs(self, max: usize) -> UnifiedStoreConfig
pub fn with_max_refs(self, max: usize) -> UnifiedStoreConfig
Set max cross-references
Trait Implementations§
Source§impl Clone for UnifiedStoreConfig
impl Clone for UnifiedStoreConfig
Source§fn clone(&self) -> UnifiedStoreConfig
fn clone(&self) -> UnifiedStoreConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for UnifiedStoreConfig
impl Debug for UnifiedStoreConfig
Source§impl Default for UnifiedStoreConfig
impl Default for UnifiedStoreConfig
Source§fn default() -> UnifiedStoreConfig
fn default() -> UnifiedStoreConfig
Auto Trait Implementations§
impl Freeze for UnifiedStoreConfig
impl RefUnwindSafe for UnifiedStoreConfig
impl Send for UnifiedStoreConfig
impl Sync for UnifiedStoreConfig
impl Unpin for UnifiedStoreConfig
impl UnsafeUnpin for UnifiedStoreConfig
impl UnwindSafe for UnifiedStoreConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request