Ревью
#опытным
Сегодня будет довольно хардкорное #ревью в плане порога входа. Дело в том, что вы будете препарировать код, который использует неблокирующее апи ввода-вывода линуксов - epoll. Совсем вкратце, есть набор файловых дескрипторов и мы хотим в асинхронном режиме обрабатывать информацию, которая пришла на эти дискрипторы. Для этого мы :
1️⃣ Предварительно за кадром зарегистрировали нужные события на еполле
2️⃣ Создали массив из эвентов, в который эполл будет записывать произошедшие события
3️⃣ Дожидаемся этих событий в epoll_wait и дальше как-то обрабатываем.
Если вы знакомы с select|poll, то здесь небольшие отличия в интерфейсе + еполл сам говорит нам на каких дискрипторах появился евент.
Цель всего этого добра - подсчитать общее количество байт, которое пришло на все дескрипторы.
Понимаю, что от кода прям несет чистой сишатиной, но мы и такой код должны уметь ревьюить. Однако все предложения по улучшению могут включать в себя любые фичи стандартных плюсов.
Как всегда, тех отважных героев, которые лучше всего накритикуют код и предложат, как его исправить, мы опубликуем на канале. Полный текст можно взять тут.
Ну и чего ждем? Комментарии сами себя не напишут! Погнали хейтить чужой код!
Analyse solutions. Stay cool.
Post #451
4.93K