Architecture
本文概述了Eclipseiceoryx体系结构,并解释了它的基本原理。
Software layers
Eclipse iceoryx所包含的主要包如下所示。
接下来的部分将逐一简要介绍组件及其库。
Components and libraries
下面描述了不同的库及其名称空间。
### iceoryx hoofs
Handy Objects Optimized For Safety(hoofs)是一个库,包含各种构建块,并发类和即将发布的C++标准中的现代下一代C++构造。
有关组件的更多信息,请参阅其[详细说明]
iceoryx posh
The package iceoryx_posh
(PO SIX SHared memory) contains everything related to shared memory inter-process communication.
Core library
本节介绍核心库的名称空间。
popo
:名称空间posh端口包含用于传输数据的user-API类。capor
:命名空间规范化协议实现了规范化协议模式协议,由iceoryx_posh
用于连接和发现popo::Publisher
和popo::Server
。mepoo
:命名空间内存池包含所有与内存相关的类。例如"MemoryManager"或"SharedPointer"。version
:命名空间版本包含ABI兼容性检查。build
:命名空间build包含某些maximum值,这些值可以在编译前更改。
Gatway library
- 网关库及其命名空间"gw"包含用于创建网关的通用抽象。它们由[
iceoryx_dds
]使用(https://github.com/eclipse-iceoryx/iceoryx-gateway-dds)。
RouDi library
- 库RouDi及其命名空间"RouDi"包含RouDi中间件守护进程使用的类。
iceoryx C binding
模块iceoryx_binding_c
使iceoryx_posh
的进程间通信特性在c中可用。
iceoryx DDS
包iceoryx_dds
使用[Eclipse Cyclone dds]提供双向dds网关(https://cyclonedds.io/)。
网关可用于通过网络(例如通过以太网)发送数据。
有关详细信息,请参阅自述。
iceoryx introspection
introspection客户端可以用于实时调试,并提供当前系统的信息,如内存使用情况和已建立的连接。
有关更多信息,请参阅[icecrystal示例](.../examples/icecrystal.md)。