Fast DDS 域(Domain)模块详解
一、域(Domain)概述
域代表一个独立的通信平面,能在共享通用通信基础设施的实体(Entities)之间建立逻辑隔离。从概念层面来看,域可视为一个虚拟网络,一方面将所有在同一域运行的应用程序连接起来,另一方面又将这些应用程序与不同域运行的应用程序隔离开。借助这一特性,多个独立的分布式应用程序可在同一物理网络中共存,既不会相互干扰,甚至不会察觉彼此的存在。
每个域都拥有唯一的标识符,即域ID(domainId),其数据类型实现为uint32(32位无符号整数)。共享同一域ID的应用程序归属于同一个域,且具备相互通信的能力。
若要将某一应用程序加入特定域,该应用程序必须创建带有对应域ID的域参与者(DomainParticipant)实例。而域参与者实例的创建,需通过域参与者工厂(DomainParticipantFactory)单例(singleton)来完成。
此外,分区(Partitions)在域内部引入了另一级别的实体隔离机制。即便处于同一域的域参与者可相互通信,仍可通过将这些域参与者的发布者(Publishers)和订阅者(Subscribers)分配到不同分区,实现对它们的隔离。
域类图


订阅专栏 解锁全文
438

被折叠的 条评论
为什么被折叠?



