pub enum Hook<M: Connector> {
Fn(Box<dyn Fn(&mut <M as Connector>::Connection, &Metrics) -> HookResult<<M as Connector>::Error>>),
AsyncFn(Box<dyn for<'a> Fn(&'a mut <M as Connector>::Connection, &'a Metrics) -> HookFuture<'a, <M as Connector>::Error>>),
}Expand description
Wrapper for hook functions
Variants§
Fn(Box<dyn Fn(&mut <M as Connector>::Connection, &Metrics) -> HookResult<<M as Connector>::Error>>)
Use a plain function (non-async) as a hook
AsyncFn(Box<dyn for<'a> Fn(&'a mut <M as Connector>::Connection, &'a Metrics) -> HookFuture<'a, <M as Connector>::Error>>)
Use an async function as a hook
Implementations§
Source§impl<M: Connector> Hook<M>
impl<M: Connector> Hook<M>
Sourcepub fn sync_fn(
f: impl Fn(&mut M::Connection, &Metrics) -> HookResult<M::Error> + 'static,
) -> Self
pub fn sync_fn( f: impl Fn(&mut M::Connection, &Metrics) -> HookResult<M::Error> + 'static, ) -> Self
Create Hook from sync function
Sourcepub fn async_fn(
f: impl for<'a> Fn(&'a mut M::Connection, &'a Metrics) -> HookFuture<'a, M::Error> + 'static,
) -> Self
pub fn async_fn( f: impl for<'a> Fn(&'a mut M::Connection, &'a Metrics) -> HookFuture<'a, M::Error> + 'static, ) -> Self
Create Hook from async function
Trait Implementations§
Auto Trait Implementations§
impl<M> Freeze for Hook<M>
impl<M> !RefUnwindSafe for Hook<M>
impl<M> !Send for Hook<M>
impl<M> !Sync for Hook<M>
impl<M> Unpin for Hook<M>
impl<M> !UnwindSafe for Hook<M>
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