pub struct EventCoalescer { /* private fields */ }Implementations§
Source§impl EventCoalescer
impl EventCoalescer
Sourcepub fn new(manager: ExtensionManager) -> Self
pub fn new(manager: ExtensionManager) -> Self
Create a new coalescer backed by the given extension manager.
Sourcepub fn dispatch_agent_event_lazy(
&self,
event: &AgentEvent,
runtime_handle: &RuntimeHandle,
)
pub fn dispatch_agent_event_lazy( &self, event: &AgentEvent, runtime_handle: &RuntimeHandle, )
Like dispatch_fire_and_forget but
takes the raw AgentEvent and defers serialization until after
verifying that a hook is actually registered. This avoids the
serde_json::to_value() cost (~2-5µs) for events that no extension
listens to.
Auto Trait Implementations§
impl Freeze for EventCoalescer
impl RefUnwindSafe for EventCoalescer
impl Send for EventCoalescer
impl Sync for EventCoalescer
impl Unpin for EventCoalescer
impl UnsafeUnpin for EventCoalescer
impl UnwindSafe for EventCoalescer
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Instruments this future with a span (no-op when disabled).
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Instruments this future with the current span (no-op when disabled).
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