drain_ready_events

Function drain_ready_events 

Source
pub(crate) fn drain_ready_events(
    epoll_state: &Arc<EpollState>,
    maxevents: usize,
) -> Vec<(EpollFd, EpollType)>
Expand description

Drains ready items into (EpollFd, readiness) events up to maxevents.

This is the consumer hot path used by epoll_wait. It is designed to be:

  • O(number of dequeued ready items)
  • tolerant of stale queue entries
  • race-safe with producers setting bits concurrently