Struct RegexSubscriptionFilter
pub struct RegexSubscriptionFilter(pub Regex);
Available on crate feature
gossipsub
only.Expand description
A subscription filter that filters topics based on a regular expression.
Tuple Fields§
§0: Regex
Trait Implementations§
§impl TopicSubscriptionFilter for RegexSubscriptionFilter
impl TopicSubscriptionFilter for RegexSubscriptionFilter
§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 RegexSubscriptionFilter
impl RefUnwindSafe for RegexSubscriptionFilter
impl Send for RegexSubscriptionFilter
impl Sync for RegexSubscriptionFilter
impl Unpin for RegexSubscriptionFilter
impl UnwindSafe for RegexSubscriptionFilter
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
§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