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.

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> HookPollNextUpdate for FnHookUninitialized<InnerHook, U>

Source§

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

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)>