Struct sc_client_api::notifications::StorageNotifications
source · pub struct StorageNotifications<Block: BlockT>(_);
Expand description
Manages storage listeners.
Implementations§
source§impl<Block: BlockT> StorageNotifications<Block>
impl<Block: BlockT> StorageNotifications<Block>
sourcepub fn new(prometheus_registry: Option<PrometheusRegistry>) -> Self
pub fn new(prometheus_registry: Option<PrometheusRegistry>) -> Self
Initialize a new StorageNotifications optionally pass a prometheus registry to send subscriber metrics to
sourcepub fn trigger(
&self,
hash: &Block::Hash,
changeset: impl Iterator<Item = (Vec<u8>, Option<Vec<u8>>)>,
child_changeset: impl Iterator<Item = (Vec<u8>, impl Iterator<Item = (Vec<u8>, Option<Vec<u8>>)>)>
)
pub fn trigger( &self, hash: &Block::Hash, changeset: impl Iterator<Item = (Vec<u8>, Option<Vec<u8>>)>, child_changeset: impl Iterator<Item = (Vec<u8>, impl Iterator<Item = (Vec<u8>, Option<Vec<u8>>)>)> )
Trigger notification to all listeners.
Note the changes are going to be filtered by listener’s filter key. In fact no event might be sent if clients are not interested in the changes.
sourcepub fn listen(
&self,
filter_keys: Option<&[StorageKey]>,
filter_child_keys: Option<&[(StorageKey, Option<Vec<StorageKey>>)]>
) -> StorageEventStream<Block::Hash>
pub fn listen( &self, filter_keys: Option<&[StorageKey]>, filter_child_keys: Option<&[(StorageKey, Option<Vec<StorageKey>>)]> ) -> StorageEventStream<Block::Hash>
Start listening for particular storage keys.
Trait Implementations§
Auto Trait Implementations§
impl<Block> !RefUnwindSafe for StorageNotifications<Block>
impl<Block> Send for StorageNotifications<Block>
impl<Block> Sync for StorageNotifications<Block>
impl<Block> Unpin for StorageNotifications<Block>
impl<Block> !UnwindSafe for StorageNotifications<Block>
Blanket Implementations§
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
Consume self to return an equivalent value of
T
. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
Consume self to return an equivalent value of
T
.