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/ |
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.