pub struct SettingsStore { /* private fields */ }Expand description
A dynamic dotted-key reactive settings store.
Clone is cheap (an Rc bump). All clones share one cache and one
I/O thread.
Implementations§
Source§impl SettingsStore
impl SettingsStore
Sourcepub fn open(path: PathBuf) -> Result<Self, SettingsStoreError>
pub fn open(path: PathBuf) -> Result<Self, SettingsStoreError>
Open a store at path with the default debounce window.
Sourcepub fn open_with_delay(
path: PathBuf,
delay: Duration,
) -> Result<Self, SettingsStoreError>
pub fn open_with_delay( path: PathBuf, delay: Duration, ) -> Result<Self, SettingsStoreError>
Open a store at path with a custom debounce window. delay = Duration::ZERO is useful for tests — every set writes through
on the next worker iteration, and flush_now() is fully
deterministic.
Sourcepub fn flush_now(&self) -> Result<(), SettingsStoreError>
pub fn flush_now(&self) -> Result<(), SettingsStoreError>
Force any pending payload to disk synchronously.
Sourcepub fn registered_keys(&self) -> Vec<String>
pub fn registered_keys(&self) -> Vec<String>
All keys registered so far. Order is unspecified.
Sourcepub fn signal<T>(&self, key: &str, default: T) -> Signal<T>
pub fn signal<T>(&self, key: &str, default: T) -> Signal<T>
Get-or-create a Signal<T> for key, seeded from disk or
default if absent. Subsequent calls for the same key return
clones of the same signal.
§Panics
- If the key was previously registered with a different type.
- If the key’s path conflicts with an existing leaf-value /
table shape (e.g.
"editor"is a string and now you ask for"editor.font_size").
Sourcepub fn signal_for<T>(&self, key: &SettingsKey<T>) -> Signal<T>
pub fn signal_for<T>(&self, key: &SettingsKey<T>) -> Signal<T>
Like signal, but driven by a strongly-named
SettingsKey<T> constant.
Source§impl SettingsStore
impl SettingsStore
Sourcepub fn open_path(path: &Path) -> Result<Self, SettingsStoreError>
pub fn open_path(path: &Path) -> Result<Self, SettingsStoreError>
Convenience constructor accepting &Path.
Trait Implementations§
Source§impl Clone for SettingsStore
impl Clone for SettingsStore
Source§impl Debug for SettingsStore
impl Debug for SettingsStore
Source§impl Reloadable for SettingsStore
impl Reloadable for SettingsStore
Source§fn path(&self) -> &Path
fn path(&self) -> &Path
The file this instance reads from and writes to. A watcher uses this
to know which path to associate with which
Reloadable handle.Source§fn reload_from_disk(&self) -> Result<bool, SettingsFileError>
fn reload_from_disk(&self) -> Result<bool, SettingsFileError>
Re-read the file from disk and push any genuinely new content into
live signals/models. Read more
Auto Trait Implementations§
impl !RefUnwindSafe for SettingsStore
impl !Send for SettingsStore
impl !Sync for SettingsStore
impl !UnwindSafe for SettingsStore
impl Freeze for SettingsStore
impl Unpin for SettingsStore
impl UnsafeUnpin for SettingsStore
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
Mutably borrows from an owned value. Read more