pub struct MemoryLimits {
pub max_facts_per_namespace: usize,
pub max_chunks_per_document: usize,
pub max_content_bytes: usize,
pub max_embedding_concurrency: usize,
pub max_db_size_bytes: u64,
pub embedding_timeout: Duration,
}Expand description
Resource limits for the memory system.
Prevents runaway resource usage. All limits have defaults tuned for a laptop-class server (8GB RAM, SSD storage).
Fields§
§max_facts_per_namespace: usizeMaximum number of facts per namespace. Default: 100_000.
max_chunks_per_document: usizeMaximum number of chunks per document. Default: 1_000.
max_content_bytes: usizeMaximum content size in bytes for a single fact or message. Default: 1 MB (1_048_576 bytes).
max_embedding_concurrency: usizeMaximum number of concurrent embedding requests. Hard-capped at 32 regardless of config. Default: 8.
max_db_size_bytes: u64Maximum total database size in bytes. 0 = unlimited. Default: 0 (unlimited).
embedding_timeout: DurationEmbedding request timeout. Default: 30 seconds.
Implementations§
Source§impl MemoryLimits
impl MemoryLimits
Sourcepub fn normalize_with_report(self) -> (Self, ConfigCorrectionReport)
pub fn normalize_with_report(self) -> (Self, ConfigCorrectionReport)
Normalize every resource field independently and return a correction report. Valid fields are never replaced because an unrelated field is invalid.
Sourcepub fn normalize_and_validate(self) -> Result<Self, MemoryError>
pub fn normalize_and_validate(self) -> Result<Self, MemoryError>
Normalize and validate limits to hard caps.
Trait Implementations§
Source§impl Clone for MemoryLimits
impl Clone for MemoryLimits
Source§fn clone(&self) -> MemoryLimits
fn clone(&self) -> MemoryLimits
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more