Сообщение Re: fir: другая HTTP/WebSocket либа с zero-copy внутри без п от 19.10.2017 15:35
Изменено 19.10.2017 15:38 pkl
Re: fir: другая HTTP/WebSocket библиотека с zero-copy внутри без привязки к boos
https://github.com/pavelkolodin/fir
Входной HTTP/1.1 протокол парсится с минимальным кол-вом копирований данных.
Распарсенный HTTP представляет собой просто набор указателей на входной буфер, куда данные залетели изначально.
Нет привязки к boost или другой сетевой библиотеке, на нижнем уровне лежит класс TCP сервера, реализованный на epoll, но можно переписать под что угодно другое.
Написано по мотивам внутренностей nginx. Минимум new/delete, всё переиспользуется.
Используется в http://fintank.ru
Входной HTTP/1.1 протокол парсится с минимальным кол-вом копирований данных.
Распарсенный HTTP представляет собой просто набор указателей на входной буфер, куда данные залетели изначально.
Нет привязки к boost или другой сетевой библиотеке, на нижнем уровне лежит класс TCP сервера, реализованный на epoll, но можно переписать под что угодно другое.
Написано по мотивам внутренностей nginx. Минимум new/delete, всё переиспользуется.
Используется в http://fintank.ru
Re: fir: другая HTTP/WebSocket либа с zero-copy внутри без п
https://github.com/pavelkolodin/fir
Входной HTTP/1.1 протокол парсится с минимальным кол-вом копирований данных.
Распарсенный HTTP представляет собой просто набор указателей на разные места во входном буфере, куда данные залетели изначально.
Нет привязки к boost или другой сетевой библиотеке, на нижнем уровне лежит класс TCP сервера, реализованный на epoll, но можно подменить что угодно своё с похожим API.
Написано по мотивам внутренностей nginx. Минимум new/delete, всё переиспользуется.
В протоколе WebSocket zero-copy соблюдено плохо, можно оптимизировать.
Используется в http://fintank.ru
Входной HTTP/1.1 протокол парсится с минимальным кол-вом копирований данных.
Распарсенный HTTP представляет собой просто набор указателей на разные места во входном буфере, куда данные залетели изначально.
Нет привязки к boost или другой сетевой библиотеке, на нижнем уровне лежит класс TCP сервера, реализованный на epoll, но можно подменить что угодно своё с похожим API.
Написано по мотивам внутренностей nginx. Минимум new/delete, всё переиспользуется.
В протоколе WebSocket zero-copy соблюдено плохо, можно оптимизировать.
Используется в http://fintank.ru