Skip to content

Менеджеры

Обзор

Бизнес-логика backend Kontinuum организована по Manager Pattern: каждый домен инкапсулирован в отдельный менеджер — структуру с методами, которая владеет доступом к БД и/или внешним ресурсам.

Сервисы (backend/src/services/) — тонкий транспортный слой (Tauri IPC / HTTP), который делегирует всю работу менеджерам. Менеджеры — это место, где живёт бизнес-логика.

plantuml Diagram

Принципы

  • Thread-safety: все менеджеры обёрнуты в Arc<Mutex<T>> и безопасно используются из нескольких потоков
  • Shared DB: менеджеры разделяют одно SQLite-соединение (Arc<Mutex<Connection>>). Подробнее: Database schema
  • Zeroizing: чувствительные данные (ключи, PIN) автоматически зануляются при drop через zeroize
  • Result everywhere: все fallible операции возвращают Result<T>

Граф зависимостей

plantuml Diagram

Список менеджеров

МенеджерФайлОписание
IdentityManagerbackend/src/identity/manager.rsУправление идентичностью пользователя (Ed25519 ключи, профиль)
DeviceManagerbackend/src/devices/manager.rsУправление устройствами (текущее + paired, ключи, сеть)
PairingManagerbackend/src/pairing/manager.rsP2P паринг устройств (mDNS discovery, QR, PIN)
VaultManagerbackend/src/vault/manager.rsКриптографическое хранилище секретов (PIN, auto-lock, ChaCha20)
StrongholdManagerbackend/src/stronghold.rsIOTA Stronghold интеграция (долгосрочное хранение ключей)
SpaceManagerbackend/src/spaces/manager.rsУправление пространствами (CRUD, файлы, конфликты, tombstones)
CloudManagerbackend/src/clouds/manager.rsУправление облачными подключениями (S3-compatible)
SharingManagerbackend/src/sharing/manager.rsP2P sharing и синхронизация (libp2p, файловый обмен)