RTI Connext Java API Version 7.1.0
|
Set of strings that introduces logical partitions in com.rti.dds.domain.DomainParticipant, com.rti.dds.publication.Publisher, or com.rti.dds.subscription.Subscriber entities. More...
Public Attributes | |
final StringSeq | name |
A list of partition names. More... | |
![]() | |
final QosPolicyId_t | id |
The ID of this QoS policy. More... | |
final String | policy_name |
The name of this QoS policy. More... | |
Set of strings that introduces logical partitions in com.rti.dds.domain.DomainParticipant, com.rti.dds.publication.Publisher, or com.rti.dds.subscription.Subscriber entities.
This QoS policy is used to set string identifiers that are used for partitioning entities that would otherwise be connected to and exchange data with each other:
The Partition QoS policy provides another way to control which entities will match—and thus communicate with—which other entities. It can be used to prevent entities that would have otherwise matched from talking to each other. Much in the same way that only applications within the same DDS domain will communicate with each other, only entities that belong to the same partition can talk to each other.
The Partition QoS policy allows you to add one or more strings, "partitions", to an entity:
Since the set of partitions for an entity can be dynamically changed, the Partition QoS policy is useful for creating temporary separation groups among entities that would otherwise be connected to and exchange data with each other.
DomainParticipant partitions and Publisher/Subscriber partitions are independent of each other. You can use both features independently or in combination to provide the right level of isolation.
Failure to match partitions is not considered an incompatible QoS and does not trigger any listeners or conditions. A change in this policy can potentially modify the "match" of existing DataReader and DataWriter entities. It may establish new "matches" that did not exist before, or break existing matches.
Partition strings are usually directly matched via string comparisons. However, partition strings can also contain wildcard symbols so that partitions can be matched via pattern matching. As long as the partitions or wildcard patterns of an entity intersect with the partitions or wildcard patterns of otherwise matching entities, the entities match; otherwise they do not.
These partition name patterns are regular expressions as defined by the POSIX fnmatch API (1003.2-1992 section B.6). A com.rti.dds.domain.DomainParticipant, com.rti.dds.publication.Publisher, or com.rti.dds.subscription.Subscriber entity may include regular expressions in partition names, but no two names that both contain wildcards will ever be considered to match. This means that although regular expressions may be used on the entities, RTI Connext will not try to match two regular expressions.
Each entity must belong to at least one logical partition. A regular expression is not considered to be a logical partition. If an entity has not specified a logical partition, it is assumed to be in the default partition. The default partition is defined to be an empty string (""). Put another way:
Partitions are different from creating com.rti.dds.infrastructure.Entity objects in different domains in several ways.
For more information, see the "PARTITION QosPolicy" section of the Core Libraries User's Manual.
final StringSeq name |
A list of partition names.
Several restrictions apply to the partition names in this sequence. A violation of one of the following rules will result in a com.rti.dds.infrastructure.RETCODE_INCONSISTENT_POLICY when setting a com.rti.dds.publication.Publisher's or com.rti.dds.subscription.Subscriber's QoS.
[default] Empty sequence (zero-length sequence). Since no logical partition is specified, RTI Connext will assume the entity to be in default partition (empty string partition "").
[range] List of partition name with above restrictions