- Мы имеем два файла это:
- Клиентское сетевое приложение — клиента для сервера метрик, который умеет отправлять и получать всевозможные метрики.
- Реализация сервера для приема метрики и отправки.
Код приложения разбит на классы Storage, Parser и Executor, также есть класс, который реализует asyncio-сервер.
Storage инкапсулирует в себе методы для работы с хранилищем и сами метрики у нас это словарь.
Parser разбирает текстовый протокол при получении информации из сокета и формирует корректный запрос при отправке данных.
Executor получает разобранные команды и отправляет соответствующие запросы в Storage.