Я реализую сервер сокетов. Все клиенты (до 10k) должны оставаться на связи.Сервер многопоточных сокетов с использованием libev
Вот мой текущий дизайн:
- Основной поток создает цикл обработки событий (использование Epoll по умолчанию) и Бодрствующего для приема клиентов.
- Принимать обратный вызов
- Принять fd и установить его в неблокирующий режим.
- Добавить наблюдателя для fd для отслеживания событий чтения.
- считанного обратный вызов
- считывание данные и добавить задачу в пуле потоков для отправки ответа.
Можно ли переместить часть чтения в пуле потоков, или любую другую лучшую идею? Спасибо.