Программа RoutingTable

Программа RoutingTable реализует таблицу маршрутизации данных между программами. Таблица маршрутизации в Kaspersky IoT Secure Gateway 1000 может содержать не более 256 записей маршрутов.

Чтобы получить доступ к API программы RoutingTable, скомпонуйте вашу программу с библиотекой, используя CMake-команду target_link_libraries().

CMakeLists.txt

target_link_libraries(${EXECUTABLE_NAME} ${routing_table_ROUTE_PROVIDER_LIB})

API программы RoutingTable предоставляет следующие интерфейсы:

Использование API программы RoutingTable вы можете посмотреть в примере routing_table_example_package.

Обратите внимание: имена конечных точек программ в Kaspersky IoT Secure Gateway 1000 должны быть уникальны. Уникальность имен конечных точек системой Kaspersky IoT Secure Gateway 1000 не проверяется. Корректная работоспособность программы RoutingTable при маршрутизации данных к разным конечным точкам с одинаковым именем не гарантируется.

Структура записи маршрута

Запись маршрута определена структурой applications::routing::Route. Одна или несколько записей маршрутов могут объединяться в вектор RouteList. Каждая запись маршрута содержит три параметра:

Источник и получатель описываются структурой applications::routing::ApplicationEndpointName, содержащей идентификатор программы и ее конечную точку (endpoint). Одна или несколько структур applications::routing::ApplicationEndpointName могут объединяться в вектор ApplicationEndpointNameList.

Получение идентификаторов программ

API программы RoutingTable позволяет получить идентификатор программы с помощью следующих методов:

Описание методов получения идентификатора программы представлено в файле /opt/KasperskyOS-SDK-KISG-Platform-<version>/sysroot-*-kos/include/component/secure_platform/routing_table/route_provider_api/application_id_api.h.

application_id_api.h (фрагмент)

...

namespace applications::routing {

AppId GetAppIdByTaskName(const std::string& task) noexcept;

AppId GetAppId() noexcept;

}

...

В этом разделе справки

Интерфейс IEndpointNameProvider

Интерфейс IRouteProvider

В начало