mirror of https://github.com/ospab/ostp.git
14 lines
3.1 KiB
Markdown
14 lines
3.1 KiB
Markdown
# Нативные интеграции
|
||
|
||
## Кроссплатформенная разработка
|
||
Ядро протокола OSTP разработано так, чтобы быть полностью независимым от платформы и единообразно работать в различных операционных системах. Для взаимодействия с сетевыми стеками конкретных хостов созданы интеграционные слои, оборачивающие базовую асинхронную среду выполнения.
|
||
|
||
## Мобильный SDK
|
||
Для обеспечения работы на мобильных платформах кодовая база включает специализированный слой интеграции через Native Development Kit (NDK).
|
||
- **Экспорт через C-ABI**: Базовые функции протокола экспортируются через строго типизированный бинарный интерфейс приложений C (C-ABI). Это обеспечивает совместимость со стандартными механизмами вызова внешних функций, необходимыми для высокоуровневых языков, таких как Java, Kotlin или Dart.
|
||
- **Изолированные среды выполнения**: Нативный модуль инициализирует и управляет собственной многопоточной асинхронной средой выполнения внутри памяти процесса хоста. Такое архитектурное решение предотвращает влияние тяжелых операций сетевого ввода-вывода на главный поток пользовательского интерфейса мобильного приложения.
|
||
- **Мосты телеметрии**: Между средами устанавливаются безопасные для памяти каналы связи, позволяющие хост-приложению эффективно опрашивать телеметрию соединения и извлекать эксплуатационные журналы без риска ошибок конкурентности или утечек памяти.
|
||
|
||
## Системные интерфейсы
|
||
В десктопных средах специализированные модули управляют взаимодействием с подсистемой маршрутизации операционной системы. В зависимости от режима работы, слой интеграции безопасно управляет системными реестрами маршрутизации или связывается напрямую с адаптерами виртуальных сетевых драйверов, обеспечивая прозрачное и бесшовное перенаправление трафика.
|