pub struct HookRegistry { /* private fields */ }Expand description
A registry of hooks that dispatches events to all registered hooks in order.
Hooks are stored as Arc<dyn Hook> and dispatched sequentially. If any
hook returns HookAction::Skip or HookAction::Error from a PreToolCall
event, the first non-Continue action is returned and remaining hooks
are not called for that event.
Implementations§
Source§impl HookRegistry
impl HookRegistry
Sourcepub fn register(&mut self, hook: Arc<dyn Hook>)
pub fn register(&mut self, hook: Arc<dyn Hook>)
Register a hook. Hooks fire in registration order.
Sourcepub fn dispatch(&self, event: HookEvent<'_>) -> HookAction
pub fn dispatch(&self, event: HookEvent<'_>) -> HookAction
Dispatch an event to all registered hooks.
Returns the first non-Continue action, or Continue if all hooks
agree. For non-PreToolCall events, Skip and Error are converted
to Continue.
Trait Implementations§
Source§impl Clone for HookRegistry
impl Clone for HookRegistry
Auto Trait Implementations§
impl !RefUnwindSafe for HookRegistry
impl !UnwindSafe for HookRegistry
impl Freeze for HookRegistry
impl Send for HookRegistry
impl Sync for HookRegistry
impl Unpin for HookRegistry
impl UnsafeUnpin for HookRegistry
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
Source§fn into_maybe_undefined(self) -> MaybeUndefined<T>
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Converts this value into a three-state builder argument.
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
Source§fn into_option(self) -> Option<T>
fn into_option(self) -> Option<T>
Converts this value into an optional builder argument.