pub struct DatasetEventBus { /* private fields */ }Expand description
An in-process publish-subscribe bus for RDF dataset change events.
Multiple ChangeSubscriber implementations can be registered. When
DatasetEventBus::publish is called every subscriber receives the event
in registration order. Errors from individual subscribers are collected
but do not prevent later subscribers from receiving the event.
Implementations§
Source§impl DatasetEventBus
impl DatasetEventBus
Sourcepub fn subscribe(&mut self, subscriber: Box<dyn ChangeSubscriber>)
pub fn subscribe(&mut self, subscriber: Box<dyn ChangeSubscriber>)
Register a subscriber.
Sourcepub fn publish(&self, event: DatasetChangeEvent) -> Result<()>
pub fn publish(&self, event: DatasetChangeEvent) -> Result<()>
Publish a change event to all registered subscribers.
All subscribers are called even if earlier ones return an error. If any subscriber failed the first error is returned.
Sourcepub fn subscriber_count(&self) -> usize
pub fn subscriber_count(&self) -> usize
Return the number of registered subscribers.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DatasetEventBus
impl !RefUnwindSafe for DatasetEventBus
impl Send for DatasetEventBus
impl Sync for DatasetEventBus
impl Unpin for DatasetEventBus
impl UnsafeUnpin for DatasetEventBus
impl !UnwindSafe for DatasetEventBus
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.