Skip to main content

Module persistence

Module persistence 

Source
Expand description

Persistence abstraction for Peat documents

This module provides traits for persisting Peat mesh state across restarts. Platform implementations can use platform-specific storage backends:

  • ESP32: NVS (Non-Volatile Storage)
  • iOS/macOS: Keychain or UserDefaults
  • Android: SharedPreferences or EncryptedSharedPreferences
  • Linux: File-based or SQLite

§Usage

use peat_btle::persistence::{DocumentStore, MemoryStore};
use peat_btle::document::PeatDocument;
use peat_btle::NodeId;

// Use the in-memory store for testing
let mut store = MemoryStore::new();

// Save a document
let doc = PeatDocument::new(NodeId::new(0x12345678));
store.save(&doc).unwrap();

// Load it back
let loaded = store.load().unwrap();
assert!(loaded.is_some());

Structs§

FileStore
File-based document store
MemoryStore
In-memory document store for testing
SharedStore
Wrapper to make a DocumentStore shareable across threads

Traits§

DocumentStore
Trait for persisting Peat documents