pub struct EventEvaluator { /* private fields */ }Expand description
Evaluates which subscriptions should receive notifications for a resource event.
Implementations§
Source§impl EventEvaluator
impl EventEvaluator
pub fn new( topic_registry: Arc<InMemoryTopicRegistry>, subscription_manager: Arc<SubscriptionManager>, ) -> Self
Sourcepub fn evaluate(&self, event: &ResourceEvent) -> Vec<EvaluationMatch>
pub fn evaluate(&self, event: &ResourceEvent) -> Vec<EvaluationMatch>
Evaluates a resource event and returns all matching subscriptions.
The flow is:
- Find all topics whose triggers match the event’s resource type + interaction.
- For each matching topic, find all active subscriptions.
- For each subscription, evaluate filter criteria against the resource.
- Return subscriptions that pass all filters.
Auto Trait Implementations§
impl !RefUnwindSafe for EventEvaluator
impl !UnwindSafe for EventEvaluator
impl Freeze for EventEvaluator
impl Send for EventEvaluator
impl Sync for EventEvaluator
impl Unpin for EventEvaluator
impl UnsafeUnpin for EventEvaluator
Blanket Implementations§
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> 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> 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