Пример ping включает в себя две сущности: Client и Server.
Сущность Server предоставляет два идентичных метода Ping и Pong, которые получают число и возвращают измененное число:
Ping(in UInt32 value, out UInt32 result);
Pong(in UInt32 value, out UInt32 result);
Сущность Client вызывает оба этих метода в различной последовательности. Если вызов метода запрещен политикой безопасности решения, выводится сообщение Failed to call...
Транспортная часть примера ping практически аналогична таковой для примера echo. Единственное отличие состоит в том, что в примере ping используется два метода (Ping и Pong), а не один.
Поскольку использование IPC-транспорта подробно рассмотрено в комментариях к примеру echo, в примере ping оно рассматривается кратко.
В примере ping реализуется политика безопасности решения (security.psl) на базе модели безопасности модели безопасности Flow.
Состав примера ping
Пример ping состоит из следующих файлов:
client/src/client.cresources/edl/Client.edlserver/src/server.cresources/edl/Server.edl, resources/cdl/Control.cdl, resources/idl/Connection.idlinit.yamlsecurity.psl