Struct sp_runtime::offchain::storage::StorageValueRef [−][src]
pub struct StorageValueRef<'a> { /* fields omitted */ }An abstraction over local storage value.
Implementations
impl<'a> StorageValueRef<'a>[src]
impl<'a> StorageValueRef<'a>[src]pub fn persistent(key: &'a [u8]) -> Self[src]
Create a new reference to a value in the persistent local storage.
pub fn local(key: &'a [u8]) -> Self[src]
Create a new reference to a value in the fork-aware local storage.
pub fn set(&self, value: &impl Encode)[src]
Set the value of the storage to encoding of given parameter.
Note that the storage may be accessed by workers running concurrently,
if you happen to write a get-check-set pattern you should most likely
be using mutate instead.
pub fn clear(&mut self)[src]
Remove the associated value from the storage.
pub fn get<T: Decode>(&self) -> Option<Option<T>>[src]
Retrieve & decode the value from storage.
Note that if you want to do some checks based on the value
and write changes after that you should rather be using mutate.
The function returns None if the value was not found in storage,
otherwise a decoding of the value to requested type.
pub fn mutate<T, E, F>(&self, f: F) -> Result<Result<T, T>, E> where
T: Codec,
F: FnOnce(Option<Option<T>>) -> Result<T, E>, [src]
T: Codec,
F: FnOnce(Option<Option<T>>) -> Result<T, E>,
Retrieve & decode the value and set it to a new one atomically.
Function f should return a new value that we should attempt to write to storage.
This function returns:
Ok(Ok(T))in case the value has been successfully set.Ok(Err(T))in case the value was calculated by the passed closuref, but it could not be stored.Err(_)in casefreturns an error.
Auto Trait Implementations
impl<'a> RefUnwindSafe for StorageValueRef<'a>
impl<'a> Send for StorageValueRef<'a>
impl<'a> Sync for StorageValueRef<'a>
impl<'a> Unpin for StorageValueRef<'a>
impl<'a> UnwindSafe for StorageValueRef<'a>
Blanket Implementations
impl<T> CheckedConversion for T[src]
impl<T> CheckedConversion for T[src]fn checked_from<T>(t: T) -> Option<Self> where
Self: TryFrom<T>, [src]
Self: TryFrom<T>,
fn checked_into<T>(self) -> Option<T> where
Self: TryInto<T>, [src]
Self: TryInto<T>,
impl<T> Instrument for T[src]
impl<T> Instrument for T[src]pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>, [src]
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>, [src]impl<T> SaturatedConversion for T[src]
impl<T> SaturatedConversion for T[src]pub fn saturated_from<T>(t: T) -> Self where
Self: UniqueSaturatedFrom<T>, [src]
Self: UniqueSaturatedFrom<T>,
pub fn saturated_into<T>(self) -> T where
Self: UniqueSaturatedInto<T>, [src]
Self: UniqueSaturatedInto<T>,
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>, [src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>, [src]pub fn unchecked_into(self) -> T[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>, [src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>, [src]pub fn unique_saturated_into(self) -> T[src]
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe, [src]
T: RefUnwindSafe,