fn start_polling(&self) -> Option<(u8, PollStateBomb<'_, impl FnOnce(&Self) -> u8>)> {
        let value = self
            .state
            .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |value| {
                if value & WAKING == NONE {
                    Some(POLLING)
                } else {
                    None
                }
            })
            .ok()?;
        let bomb = PollStateBomb::new(self, Self::reset);

        Some((value, bomb))
    }
Attempts to start polling, returning stored state in case of success.
Returns `None` if either waker is waking at the moment.
futures-util/src/stream/stream/flatten_unordered.rs