Skip to content

retretx/netlib

Repository files navigation

netlib

v1.0.0 — header-only C++23 библиотека: слой execution (планирование задач) и net (TCP, UDP, UNIX stream, reactor).

  • Namespace: rrmode::netlib::{execution,net}
  • Зависимости: только стандартная библиотека + платформенный код в ::detail
  • Платформы: Linux (epoll), macOS (kqueue), Windows (WSAPoll + unit-тесты)

Быстрый старт

cmake -B build -DCMAKE_BUILD_TYPE=Debug -DNETLIB_BUILD_TESTS=ON -DNETLIB_BUILD_EXAMPLES=ON
cmake --build build -j
ctest --test-dir build

Терминал 1:

./build/examples/tcp_echo/tcp_echo_server 9001

Терминал 2:

./build/examples/tcp_echo/tcp_echo_client 9001 hello
# ответ: hello

Документация

Полный набор — docs/README.md (Markdown + PlantUML, без Doxygen).

Раздел Файлы
Старт GETTING_STARTED, INSTALL, API_LAYERS
Архитектура ARCHITECTURE, EXECUTION, NET_REACTOR
Протоколы NET_TCP, NET_UDP, NET_UNIX
Coroutines COROUTINES, CANCELLATION_AND_TIMEOUT, LIFECYCLE
Справочник HEADERS_REFERENCE
Сборка / платформы CMAKE_OPTIONS, PLATFORMS
Ошибки ERRORS
Примеры EXAMPLES
Разработка / релиз DEVELOPMENT, V1_RELEASE, CHANGELOG
Эксплуатация TESTING, BENCHMARKS, ROADMAP
Диаграммы docs/diagrams/

Подключение в CMake

add_subdirectory(path/to/netlib)  # или find_package(netlib)
target_link_libraries(app PRIVATE netlib::netlib)

Три уровня API (см. docs/ARCHITECTURE.md):

#include <netlib/simple.hpp>   // простой sync + write_stream
#include <netlib/medium.hpp>   // socket_options, io_context
#include <netlib/netlib.hpp>   // full: event_loop, колбэки

Coroutines (если включены при сборке):

#include <netlib/execution/coroutine.hpp>
#include <netlib/net/coro.hpp>
// co_await connect_async(sock, loop, ep);

Лицензия

MIT — см. LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors