Skip to main content

HookPollNextUpdate

Trait HookPollNextUpdate 

Source
pub trait HookPollNextUpdate {
    // Required method
    fn poll_next_update(
        self: Pin<&mut Self>,
        cx: &mut Context<'_>,
    ) -> Poll<bool>;
}
Expand description

Defines reactivity of a hook.

See poll_next_update() for details.

Required Methods§

Source

fn poll_next_update(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<bool>

The meaning of the return value is:

  • Poll::Pending means this hook’s inner state is not updated after the last use_hook. The executor DO NOT NEED to call use_hook again because the returned value is expected to remain the same as the value from the last call. The executor CAN still call use_hook to re-get the returned value.

  • Poll::Ready(true) means this hook’s inner state has been updated since the last use_hook. The executor SHOULD call use_hook again to get the new value. If the executor doesn’t update or use this hook, instead, it polls the hook again, the hook may still return Poll::Ready(true).

  • Poll::Ready(false) means this hook’s inner state will never be updated. The executor CAN drop this hook. The executor CAN call use_hook to get the value or update it, and the hook MIGHT become dynamic again during use_hook or update_hook, or when some operations is done to the returned value.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<H: HookPollNextUpdate + Unpin + ?Sized> HookPollNextUpdate for &mut H

Source§

fn poll_next_update(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<bool>

Source§

impl<H: HookPollNextUpdate + Unpin + ?Sized> HookPollNextUpdate for Box<H>

Source§

fn poll_next_update(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<bool>

Source§

impl<P> HookPollNextUpdate for Pin<P>

Source§

fn poll_next_update(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<bool>

Implementors§

Source§

impl HookPollNextUpdate for HookTuple<()>

Source§

impl<InnerHook, U, I: Initialized> HookPollNextUpdate for FnHook<InnerHook, U, I>

Source§

impl<InnerHook, U> HookPollNextUpdate for FnHookUninitialized<InnerHook, U>

Source§

impl<T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T0,)>

Source§

impl<T1: HookPollNextUpdate, T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T1, T0)>

Source§

impl<T2: HookPollNextUpdate, T1: HookPollNextUpdate, T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T2, T1, T0)>

Source§

impl<T3: HookPollNextUpdate, T2: HookPollNextUpdate, T1: HookPollNextUpdate, T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T3, T2, T1, T0)>

Source§

impl<T4: HookPollNextUpdate, T3: HookPollNextUpdate, T2: HookPollNextUpdate, T1: HookPollNextUpdate, T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T4, T3, T2, T1, T0)>

Source§

impl<T5: HookPollNextUpdate, T4: HookPollNextUpdate, T3: HookPollNextUpdate, T2: HookPollNextUpdate, T1: HookPollNextUpdate, T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T5, T4, T3, T2, T1, T0)>

Source§

impl<T6: HookPollNextUpdate, T5: HookPollNextUpdate, T4: HookPollNextUpdate, T3: HookPollNextUpdate, T2: HookPollNextUpdate, T1: HookPollNextUpdate, T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T6, T5, T4, T3, T2, T1, T0)>

Source§

impl<T7: HookPollNextUpdate, T6: HookPollNextUpdate, T5: HookPollNextUpdate, T4: HookPollNextUpdate, T3: HookPollNextUpdate, T2: HookPollNextUpdate, T1: HookPollNextUpdate, T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T7, T6, T5, T4, T3, T2, T1, T0)>

Source§

impl<T8: HookPollNextUpdate, T7: HookPollNextUpdate, T6: HookPollNextUpdate, T5: HookPollNextUpdate, T4: HookPollNextUpdate, T3: HookPollNextUpdate, T2: HookPollNextUpdate, T1: HookPollNextUpdate, T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T8, T7, T6, T5, T4, T3, T2, T1, T0)>

Source§

impl<T9: HookPollNextUpdate, T8: HookPollNextUpdate, T7: HookPollNextUpdate, T6: HookPollNextUpdate, T5: HookPollNextUpdate, T4: HookPollNextUpdate, T3: HookPollNextUpdate, T2: HookPollNextUpdate, T1: HookPollNextUpdate, T0: HookPollNextUpdate> HookPollNextUpdate for HookTuple<(T9, T8, T7, T6, T5, T4, T3, T2, T1, T0)>