Struct WhitelistSubscriptionFilter
pub struct WhitelistSubscriptionFilter(pub HashSet<TopicHash>);
Available on crate feature
gossipsub
only.Expand description
Allows only whitelisted subscriptions
Tuple Fields§
§0: HashSet<TopicHash>
Trait Implementations§
§impl Clone for WhitelistSubscriptionFilter
impl Clone for WhitelistSubscriptionFilter
§fn clone(&self) -> WhitelistSubscriptionFilter
fn clone(&self) -> WhitelistSubscriptionFilter
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more§impl Default for WhitelistSubscriptionFilter
impl Default for WhitelistSubscriptionFilter
§fn default() -> WhitelistSubscriptionFilter
fn default() -> WhitelistSubscriptionFilter
Returns the “default value” for a type. Read more
§impl TopicSubscriptionFilter for WhitelistSubscriptionFilter
impl TopicSubscriptionFilter for WhitelistSubscriptionFilter
§fn can_subscribe(&mut self, topic_hash: &TopicHash) -> bool
fn can_subscribe(&mut self, topic_hash: &TopicHash) -> bool
Returns true iff the topic is of interest and we can subscribe to it.
§fn filter_incoming_subscriptions<'a>(
&mut self,
subscriptions: &'a [Subscription],
currently_subscribed_topics: &BTreeSet<TopicHash>,
) -> Result<HashSet<&'a Subscription>, String>
fn filter_incoming_subscriptions<'a>( &mut self, subscriptions: &'a [Subscription], currently_subscribed_topics: &BTreeSet<TopicHash>, ) -> Result<HashSet<&'a Subscription>, String>
Filters a list of incoming subscriptions and returns a filtered set
By default this deduplicates the subscriptions and calls
Self::filter_incoming_subscription_set
on the filtered set.§fn filter_incoming_subscription_set<'a>(
&mut self,
subscriptions: HashSet<&'a Subscription>,
_currently_subscribed_topics: &BTreeSet<TopicHash>,
) -> Result<HashSet<&'a Subscription>, String>
fn filter_incoming_subscription_set<'a>( &mut self, subscriptions: HashSet<&'a Subscription>, _currently_subscribed_topics: &BTreeSet<TopicHash>, ) -> Result<HashSet<&'a Subscription>, String>
Filters a set of deduplicated subscriptions
By default this filters the elements based on
Self::allow_incoming_subscription
.§fn allow_incoming_subscription(&mut self, subscription: &Subscription) -> bool
fn allow_incoming_subscription(&mut self, subscription: &Subscription) -> bool
Returns true iff we allow an incoming subscription.
This is used by the default implementation of filter_incoming_subscription_set to decide
whether to filter out a subscription or not.
By default this uses can_subscribe to decide the same for incoming subscriptions as for
outgoing ones.
Auto Trait Implementations§
impl Freeze for WhitelistSubscriptionFilter
impl RefUnwindSafe for WhitelistSubscriptionFilter
impl Send for WhitelistSubscriptionFilter
impl Sync for WhitelistSubscriptionFilter
impl Unpin for WhitelistSubscriptionFilter
impl UnwindSafe for WhitelistSubscriptionFilter
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more