Module store

Module store 

Source
Expand description

Record Storage Module

Provides persistent and in-memory storage for MemoryRecords.

§Architecture

┌─────────────────────────────────────────────────────────────┐
│                      RecordStore Trait                       │
├─────────────────────────────────────────────────────────────┤
│  + insert(record) -> Result<RecordId>                        │
│  + get(id) -> Option<&MemoryRecord>                          │
│  + update_stats(id, outcome) -> Result<()>                   │
│  + remove(id) -> Result<bool>                                │
│  + iter() -> impl Iterator<Item = &MemoryRecord>             │
└─────────────────────────────────────────────────────────────┘
           ▲                            ▲
           │                            │
    ┌──────┴──────┐            ┌────────┴────────┐
    │ InMemoryStore│            │ PersistentStore │
    │  (HashMap)   │            │  (mmap + rkyv)  │
    └─────────────┘            └─────────────────┘

§Invariants

  • INV-001: Record immutability (only stats updates allowed)
  • INV-004: Index-record consistency

Structs§

InMemoryStore
In-memory record store.

Traits§

RecordStore
Core trait for record storage.

Type Aliases§

SharedStore
Thread-safe shared store using Arc.