Skip to main content

PersistedField

Struct PersistedField 

Source
pub struct PersistedField<T, V> { /* private fields */ }
Expand description

Read, write, and subscribe access to a generated persisted settings field.

Implementations§

Source§

impl<T, V> PersistedField<T, V>
where T: Clone + Send + Sync + 'static, V: Clone,

Source

pub fn new( handle: SettingsHandle<T>, key: &'static str, getter: Box<dyn for<'a> Fn(&'a T) -> &'a V + Send + Sync + 'static>, mutator: Box<dyn Fn(&mut T, V) + Send + Sync + 'static>, ) -> Self

Creates a persisted field handle.

Source

pub fn get(&self) -> V

Returns the field value from the current settings snapshot.

Source§

impl<T, V> PersistedField<T, V>
where T: Clone + Send + Sync + 'static, V: Clone + Serialize,

Source

pub fn set(&self, value: V) -> Result<(), SettingsError>

Persists a new field value and updates the in-memory snapshot.

Source§

impl<T, V> PersistedField<T, V>
where T: Clone + Send + Sync + 'static, V: DeserializeOwned + Send + 'static,

Source

pub fn on_change(&self) -> Receiver<V>

Subscribes to typed changes for this field.

The returned channel receives successfully decoded local and external Set events for this field. Deletes, deserialize failures, other keys, and values that cannot be decoded as V are ignored.

Auto Trait Implementations§

§

impl<T, V> !RefUnwindSafe for PersistedField<T, V>

§

impl<T, V> !UnwindSafe for PersistedField<T, V>

§

impl<T, V> Freeze for PersistedField<T, V>

§

impl<T, V> Send for PersistedField<T, V>
where T: Sync + Send,

§

impl<T, V> Sync for PersistedField<T, V>
where T: Sync + Send,

§

impl<T, V> Unpin for PersistedField<T, V>

§

impl<T, V> UnsafeUnpin for PersistedField<T, V>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.