1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/FasShareCode-FAS-NetBase

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

FAS — это серверный фреймворк, работающий на базе операционной системы Linux и использующий модель Reactor, основанную на мультипоточности и повторном использовании ввода-вывода. Основные характеристики:

  1. Фреймворк включает в себя модуль пула потоков, модуль управления TCP-соединениями, а также модуль таймеров и некоторые базовые функции для работы со строками, файлами и сокетами.
  2. Количество потоков в пуле настраивается просто: достаточно указать количество дочерних потоков. В будущем планируется реализовать настройку через конфигурационный файл.
  3. TCP-соединение реализуется с помощью отдельного класса, который можно использовать отдельно. Этот класс взаимодействует с пользователем через функции обратного вызова. На данный момент пользователь может установить до пяти функций обратного вызова: для уведомления о поступлении данных, возможности отправки данных, ошибки, закрытия соединения и поэтапной отправки больших файлов (для примера использования см. реализацию HTTP).
  4. Модуль таймера использует управление временной кучей и представляет собой отдельный модуль. Функция обработки тайм-аута задаётся через функцию обратного вызова. Любой класс может создать таймер, после чего интерфейс добавления таймера в EventLoop текущего потока позволяет добавить его в цикл событий этого потока. Теоретически количество таймеров, которые может создать один класс, не ограничено.
  5. Реализован модуль HTTP, который служит как для тестирования сетевой библиотеки FAS, так и для предоставления способа расширения нижнего уровня интерфейса.
  6. Дополнительные функции, предоставляемые библиотекой, включают в себя функции для работы со строками, файлы и сокеты, которые могут быть использованы отдельно.
  7. Текущая конфигурация фреймворка в основном передаётся через параметры функции при использовании. В ближайшее время планируется добавить конфигурацию через конфигурационные файлы.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Неблокирующая сетевая библиотека C++ в режиме реактора для многопоточного сервера в Linux. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/FasShareCode-FAS-NetBase.git
git@api.gitlife.ru:oschina-mirror/FasShareCode-FAS-NetBase.git
oschina-mirror
FasShareCode-FAS-NetBase
FasShareCode-FAS-NetBase
master