Struct hdk::prelude::chain::ChainFilter
[−]pub struct ChainFilter<H = HoloHash<Action>>where
H: Eq + Ord + Hash,{
pub chain_top: H,
pub filters: ChainFilters<H>,
pub include_cached_entries: bool,
}
Expand description
Filter source chain items.
Starting from some chain position given as an ActionHash
the chain is walked backwards to genesis.
The filter can stop early by specifying the number of
chain items to take and / or an ActionHash
to consume until.
Fields
chain_top: H
The starting position of the filter.
filters: ChainFilters<H>
The filters that have been applied.
Defaults to ChainFilters::ToGenesis
.
include_cached_entries: bool
Should the query return any entries that are cached at the agent activity to save network hops.
Implementations
impl<H> ChainFilter<H>where
H: Eq + Ord + Hash,
impl<H> ChainFilter<H>where
H: Eq + Ord + Hash,
pub fn new(chain_top: H) -> ChainFilter<H>
pub fn new(chain_top: H) -> ChainFilter<H>
Create a new filter using this ActionHash
as
the starting position and walking the chain
towards the genesis Action
.
pub fn take(self, n: u32) -> ChainFilter<H>
pub fn take(self, n: u32) -> ChainFilter<H>
Take up to n
actions including the starting position.
This may return less then n
actions.
pub fn include_cached_entries(self) -> ChainFilter<H>
pub fn include_cached_entries(self) -> ChainFilter<H>
Set this filter to include any cached entries at the agent activity authority.
pub fn until(self, action_hash: H) -> ChainFilter<H>
pub fn until(self, action_hash: H) -> ChainFilter<H>
Take all actions until this action hash is found.
Note that all actions specified as until
hashes must be
found so this filter can produce deterministic results.
It is invalid to specify an until hash that is on a different
fork then the starting position.
pub fn get_until(&self) -> Option<&HashSet<H, RandomState>>
pub fn get_until(&self) -> Option<&HashSet<H, RandomState>>
Get the until hashes if there are any.
Trait Implementations
impl<H> Clone for ChainFilter<H>where
H: Clone + Eq + Ord + Hash,
impl<H> Clone for ChainFilter<H>where
H: Clone + Eq + Ord + Hash,
fn clone(&self) -> ChainFilter<H>
fn clone(&self) -> ChainFilter<H>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<'de, H> Deserialize<'de> for ChainFilter<H>where
H: Eq + Ord + Hash + Deserialize<'de>,
impl<'de, H> Deserialize<'de> for ChainFilter<H>where
H: Eq + Ord + Hash + Deserialize<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<ChainFilter<H>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<ChainFilter<H>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl<H> Hash for ChainFilter<H>where
H: Hash + Eq + Ord,
impl<H> Hash for ChainFilter<H>where
H: Hash + Eq + Ord,
impl<H> PartialEq<ChainFilter<H>> for ChainFilter<H>where
H: PartialEq<H> + Eq + Ord + Hash,
impl<H> PartialEq<ChainFilter<H>> for ChainFilter<H>where
H: PartialEq<H> + Eq + Ord + Hash,
fn eq(&self, other: &ChainFilter<H>) -> bool
fn eq(&self, other: &ChainFilter<H>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
impl<H> Serialize for ChainFilter<H>where
H: Eq + Ord + Hash + Serialize,
impl<H> Serialize for ChainFilter<H>where
H: Eq + Ord + Hash + Serialize,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl TryFrom<&ChainFilter<HoloHash<Action>>> for SerializedBytes
impl TryFrom<&ChainFilter<HoloHash<Action>>> for SerializedBytes
type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
fn try_from(
t: &ChainFilter<HoloHash<Action>>
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(
t: &ChainFilter<HoloHash<Action>>
) -> Result<SerializedBytes, SerializedBytesError>
Performs the conversion.
impl TryFrom<ChainFilter<HoloHash<Action>>> for SerializedBytes
impl TryFrom<ChainFilter<HoloHash<Action>>> for SerializedBytes
type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
fn try_from(
t: ChainFilter<HoloHash<Action>>
) -> Result<SerializedBytes, SerializedBytesError>
fn try_from(
t: ChainFilter<HoloHash<Action>>
) -> Result<SerializedBytes, SerializedBytesError>
Performs the conversion.
impl TryFrom<SerializedBytes> for ChainFilter<HoloHash<Action>>
impl TryFrom<SerializedBytes> for ChainFilter<HoloHash<Action>>
type Error = SerializedBytesError
type Error = SerializedBytesError
The type returned in the event of a conversion error.
fn try_from(
sb: SerializedBytes
) -> Result<ChainFilter<HoloHash<Action>>, SerializedBytesError>
fn try_from(
sb: SerializedBytes
) -> Result<ChainFilter<HoloHash<Action>>, SerializedBytesError>
Performs the conversion.
impl<H> Eq for ChainFilter<H>where
H: Eq + Ord + Hash,
impl<H> StructuralEq for ChainFilter<H>where
H: Eq + Ord + Hash,
impl<H> StructuralPartialEq for ChainFilter<H>where
H: Eq + Ord + Hash,
Auto Trait Implementations
impl<H> RefUnwindSafe for ChainFilter<H>where
H: RefUnwindSafe,
impl<H> Send for ChainFilter<H>where
H: Send,
impl<H> Sync for ChainFilter<H>where
H: Sync,
impl<H> Unpin for ChainFilter<H>where
H: Unpin,
impl<H> UnwindSafe for ChainFilter<H>where
H: UnwindSafe,
Blanket Implementations
impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourcefn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T>where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T>where
T: Future, type Output = <T as Future>::Output;
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more