From 634a8ea1f1f275dcdc723cd5e82b1c47c0525f81 Mon Sep 17 00:00:00 2001 From: DarkCat09 Date: Fri, 23 Aug 2024 16:28:59 +0400 Subject: [PATCH] docs: add file tree with explanations --- docs/file_tree.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 docs/file_tree.md diff --git a/docs/file_tree.md b/docs/file_tree.md new file mode 100644 index 0000000..400a922 --- /dev/null +++ b/docs/file_tree.md @@ -0,0 +1,46 @@ +# nm17/iotishnik-server [Rust] +Стандартная структура проекта на Rust с Cargo. +Ниже описано содержимое `src/`. + +- `main.rs`: точка входа, запускает сервер + (см. [web_server](#web_server) и [ingest_socket_server](#ingest_socket_server)) + +## ingest_protocol +- `packet_types.rs`: структуры для хранения данных с датчиков, + вспомогательные функции интеграции с serde и записи в БД. +- `parser.rs`: парсер пакетов в формате старого TCP/UDP API с #решётками#, + парсер MAC-ов. +- `error.rs`: enum для ошибок в этом модуле. +- `tests/`: тесты. + +## ingest_socket_server +Сервер TCP/UDP API (work in progress). + +## web_server +Сервер HTTP API на библиотеке Ntex. + +- `mod.rs`: предоставляет функцию запуска веб-сервера. +- `app_error.rs`: enum для ошибок в этом модуле. + +### web_server/old_app_api +HTTP API "Народного мониторинга" для приложений. + +- `handlers/`: обработчики запросов. +- `types/`: структуры JSON-а запросов и ответов. + +### web_server/old_device_sensor_api +HTTP API "Народного мониторинга" для загрузки данных с датчиков на сервер. + +- `mod.rs`: основной обработчик запросов. +- `qs_parser.rs`: парсер аргументов GET-запроса / + тела POST-запроса в формате x-www-form-urlencoded. + +### web_server/utils +- `mod.rs`: вспомогательные функции и макросы к веб-серверу. +- `redis.rs`: утилиты для работы с Redis-совместимой БД. + +## utils +Вспомогательные структуры данных и функции. + +- `mod.rs`: пока что только enum поддерживаемых единиц измерения, конвертация типов. +- `hifitime_serde.rs`: интеграция hifitime::Epoch с serde для (де)сериализации. -- 2.45.2