Struct sp_runtime::offchain::storage::StorageValueRef [−][src]
An abstraction over local storage value.
Implementations
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> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut 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> From<T> 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, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T, Outer> IsWrappedBy<Outer> for T where
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>, [src]
T: From<Outer>,
Outer: AsRef<T> + AsMut<T> + From<T>,
pub fn from_ref(outer: &Outer) -> &T[src]
Get a reference to the inner from the outer.
pub fn from_mut(outer: &mut Outer) -> &mut T[src]
Get a mutable reference to the inner from the outer.
impl<T> MaybeRefUnwindSafe for T where
T: RefUnwindSafe, [src]
T: RefUnwindSafe,
impl<T> Same<T> for T[src]
type Output = T
Should always be Self
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<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<S, T> UncheckedInto<T> for S where
T: UncheckedFrom<S>, [src]
T: UncheckedFrom<S>,
pub fn unchecked_into(self) -> T[src]
impl<T, S> UniqueSaturatedInto<T> for S where
T: Bounded,
S: TryInto<T>, [src]
T: Bounded,
S: TryInto<T>,
pub fn unique_saturated_into(self) -> T[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>, [src]
V: MultiLane<T>,