-
Notifications
You must be signed in to change notification settings - Fork 5
Controller
VoidZeroNull0 edited this page Jun 19, 2025
·
4 revisions
Controller (далее Контроллер) обеспечивает уницифированный программный интерфейс (API) для различных view для взаимодействия с утилитой и, в частности, с Демоном.
flowchart
subgraph FrontEnd["Front-ends"]
A
D
E
end
A[CLI] -->|calls in code| B[Controller]
D[SDK] -..->|network| B[Controller]
E[UI] -..->|network| B[Controller]
B -->|protobuf| C[Daemon]
- Коммуникация между CLI и Контроллером происходит в коде - CLI напрямую вызывает методы Контроллера с необходимыми аргументами для общения с Демоном.
- Коммуникация между Контроллером и Демоном происходит через механизм сокетов.
- Коммуникация между Контроллером и SDK/UI будет происходить через механизм сетевых протоколов. (В планах на будущее)
Пользователь вводит команду в терминале, и CLI парсит её, сохраняя параметры в соответствующую структуру. Затем структура преобразуется в protobuf-сообщение и передаётся в нужный метод контроллера.
Контроллер и Демон обмениваются данными через Unix-сокет, обеспечивая быструю и безопасную передачу. Контроллер сериализует полученное от CLI protobuf-сообщение, отправляет его Демону и ждёт ответа. Демон выполняет операцию и возвращает результат, после чего соединение закрывается.
Начало работы
Концепции
CLI
Controller
Crutches
Core
RFC