pub(crate) fn spin_poll_io(&self) -> io::Result<bool> {
        let mut wakers = self.wakers.borrow_mut();
        // any duration, just so we land in the latency ring
        self.sys
            .rush_dispatch(Some(Latency::Matters(Duration::from_secs(1))), &mut wakers)?;
        self.sys
            .rush_dispatch(Some(Latency::NotImportant), &mut wakers)?;
        self.sys.rush_dispatch(None, &mut wakers)?;
        self.process_timers(&mut wakers);
        self.process_shared_channels(&mut wakers);

        let woke = wakers.len();
        for waker in wakers.drain(..) {
            // Don't let a panicking waker blow everything up.
            let _ = panic::catch_unwind(|| waker.wake());
        }
        Ok(woke > 0)
    }
/// polls for I/O, but does not change any timer registration.
///
/// This doesn't ever sleep, and does not touch the preempt timer.
polls for I/O, but does not change any timer registration.
This doesn't ever sleep, and does not touch the preempt timer.
polls for I / O but does not change any timer registration . This doesn ' t ever sleep and does not touch the preempt timer .
pub(crate) fn spin_poll_io(&self) -> io::Result<bool> {
        let mut wakers = self.wakers.borrow_mut();
        // any duration, just so we land in the latency ring
        self.sys
            .rush_dispatch(Some(Latency::Matters(Duration::from_secs(1))), &mut wakers)?;
        self.sys
            .rush_dispatch(Some(Latency::NotImportant), &mut wakers)?;
        self.sys.rush_dispatch(None, &mut wakers)?;
        self.process_timers(&mut wakers);
        self.process_shared_channels(&mut wakers);
        let woke = wakers.len();
        for waker in wakers.drain(..) {
            // Don't let a panicking waker blow everything up.
            let _ = panic::catch_unwind(|| waker.wake());
        }
        Ok(woke > 0)
    }
pub ( crate ) fn spin_poll_io ( & self ) -> io :: Result < bool > { let mut wakers = self . wakers . borrow_mut ( ) ; // any duration, just so we land in the latency ring self . sys . rush_dispatch ( Some ( Latency :: Matters ( Duration :: from_secs ( 1 ) ) ) , & mut wakers ) ? ; self . sys . rush_dispatch ( Some ( Latency :: NotImportant ) , & mut wakers ) ? ; self . sys . rush_dispatch ( None , & mut wakers ) ? ; self . process_timers ( & mut wakers ) ; self . process_shared_channels ( & mut wakers ) ; let woke = wakers . len ( ) ; for waker in wakers . drain ( .. ) { // Don't let a panicking waker blow everything up. let _ = panic :: catch_unwind ( | | waker . wake ( ) ) ; } Ok ( woke > 0 ) }
polls for I/O, but does not change any timer registration.
polls for I / O but does not change any timer registration .
&self
&self