В рамках создания нового сетевого стека io-enginet мы провели работу, которая на первый взгляд может показаться «внутренней кухней» разработки. Но именно такие вещи во многом определяют качество системного ПО.
Мы задокументировали общую архитектуру и взаимосвязи компонентов менеджера сетевого стека.
Почему это важно?
Сетевой стек — это не один модуль, а целая система взаимодействующих компонентов: менеджер, протоколы, драйверы, механизмы обработки и передачи пакетов, интерфейсы для прикладных программ. В архитектуре ЗОСРВ «Нейтрино», например, сетевые драйверы и протокольные модули подключаются к менеджеру сетевой подсистемы и взаимодействуют через определённые интерфейсы.
Поэтому хорошая архитектурная документация — это не формальность.
Она позволяет:
В результате проект io-enginet — это не только разработка нового сетевого стека. Это ещё и работа по формированию понятной, документированной и управляемой архитектуры сетевой подсистемы.
А иногда именно такая работа за кадром и является самым важным результатом разработки.
#Нейтрино


