pub struct SqliteStoreConfig {
pub busy_timeout_ms: u64,
pub enable_wal: bool,
pub synchronous_normal: bool,
pub page_size_bytes: u32,
pub page_cache_size_bytes: u64,
pub wal_autocheckpoint_pages: u32,
pub node_read_cache_size_bytes: usize,
pub node_compression_min_bytes: usize,
pub mmap_size_bytes: u64,
}Expand description
Configuration options for SqliteStore.
Fields§
§busy_timeout_ms: u64Busy timeout in milliseconds for contended SQLite locks.
enable_wal: boolEnable WAL journaling for file-backed databases.
synchronous_normal: boolSet SQLite synchronous mode to NORMAL when applying default pragmas.
page_size_bytes: u32Page size requested when creating a new SQLite database.
Existing databases retain the page size stored in their file header.
page_cache_size_bytes: u64Maximum bytes retained in SQLite’s page cache for this connection.
A larger cache prevents dirty B-tree pages from being spilled and rewritten repeatedly during large prolly-node publications.
wal_autocheckpoint_pages: u32Number of WAL pages that triggers an automatic checkpoint.
This should be large enough that a normal node publication commits without performing checkpoint I/O in its latency-sensitive path.
node_read_cache_size_bytes: usizeMaximum decoded node bytes retained by the adapter.
This cache complements SQLite’s encoded page cache and lets immutable nodes written earlier in the process satisfy later shared reads without another SQL lookup or decompression.
node_compression_min_bytes: usizeMinimum serialized node size considered for LZ4 compression.
Smaller values favor database size and cold I/O; larger values avoid compression CPU for latency-sensitive in-process publication.
mmap_size_bytes: u64Maximum database bytes SQLite may access through memory-mapped reads.
This avoids per-page read syscalls for large immutable prolly nodes while retaining SQLite’s normal transactional and durability guarantees.
Trait Implementations§
Source§impl Clone for SqliteStoreConfig
impl Clone for SqliteStoreConfig
Source§fn clone(&self) -> SqliteStoreConfig
fn clone(&self) -> SqliteStoreConfig
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 SqliteStoreConfig
impl Debug for SqliteStoreConfig
Auto Trait Implementations§
impl Freeze for SqliteStoreConfig
impl RefUnwindSafe for SqliteStoreConfig
impl Send for SqliteStoreConfig
impl Sync for SqliteStoreConfig
impl Unpin for SqliteStoreConfig
impl UnsafeUnpin for SqliteStoreConfig
impl UnwindSafe for SqliteStoreConfig
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more