Научиться разрабатывать асинхронные приложения.
Асинхронные модули работы с термометром и умной розеткой.
-
Модули для сетевого взаимодействия:
- Модули для работы с умной розеткой и термометром должны предоставлять асинхронный интерфейс.
- Системные потоки не должны создаваться вручную.
- Рекомендуется использовать библиотеку
tokioдля реализации асинхронного взаимодействия.
-
Требования к реализации:
- Обеспечьте корректную обработку сетевых запросов.
- Убедитесь, что модули поддерживают многопоточность и могут работать параллельно.
- Реализуйте тесты для проверки функционала.
Статус "Принято" ставится, если:
- Присутствует весь функционал из описания.
- Выполняются тесты функционала из описания.
- Утилита
clippyне сообщает об ошибках и не выдает предупреждений. - Утилита
fmtне меняет форматирование кода.
- Работа с архитектурой:
- Использование асинхронных инструментов и библиотеки
tokio.
- Использование асинхронных инструментов и библиотеки
- Убедитесь, что ваш код соответствует стандартам Rust, включая форматирование и стиль.
- При написании тестов учитывайте различные сценарии использования модулей.
- Для проверки работы модулей можно использовать локальный TCP-сервер или клиент.
Удачи в выполнении задания! 🚀
