Как работает асинхронная библиотека libevent в случае, если muliple FD готовы к чтению/записи
Допустим, у меня есть 5 сокетов FD(5 событий), добавленных в цикл событий. И нет никакого приоритета, связанного с каким-либо событием, все события равны.
Если все FD доступны для чтения одновременно,
1) в каком порядке вызываются обратные вызовы?
2) Все ли 5 событий обратного вызова будут выполняться один за другим , прежде чем вызов select/epoll будет выполнен циклом событий? (или) наоборот, как после того, как одно событие срабатывает независимо от другого набора FD или нет, снова выполняется вызов epoll/select?
3) Если я хочу сначала обработать определенные FD,если они доступны для чтения/записи, прежде чем приступить к другим FD, возможно ли это в библиотеке lib-event без назначения приоритета событиям?
Что я уже пробовал:
Пробовал с несколькими событиями, но не смог понять точную внутреннюю часть механизма вызова обратного вызова libevent в случае, если несколько FD готовы к чтению/записи.