public interface Partition extends QosPolicy.ForPublisher, QosPolicy.ForSubscriber
Publisher
and Subscriber
.
Concerns: Publisher
, Subscriber
RxO: No
Changeable: Yes
A DataWriter
within a Publisher only communicates with a
DataReader
in a Subscriber if (in addition to matching the Topic
and having compatible QoS) the Publisher and Subscriber have a common
partition name string. Each string in the collection that defines this QoS
policy defines a partition name. A partition name may contain wild cards.
Sharing a common partition means that one of the partition names matches.
Failure to match partitions is not considered an "incompatible" QoS and
does not trigger any listeners nor conditions.
This policy is changeable. A change of 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.
The empty string ("") is considered a valid partition that is matched with
other partition names using the same rules of string matching and
regular expression matching used for any other partition name.
The default value for is a zero-size collection. The
zero-size collection is treated as a special value equivalent to a
collection containing a single element consisting of the empty string.
This policy is changeable. A change of 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 names can be regular expressions and include wild cards as
defined by the POSIX fnmatch API (1003.2-1992 section B.6). Either
Publisher
or Subscriber
may include regular expressions in
partition names, but no two names that both contain wild cards will ever
be considered to match. This means that although regular expressions may
be used both at publisher as well as subscriber side, the service will not
try to match two regular expressions (between publishers and subscribers).
Partitions are different from creating Entity
objects in different
domains in several ways. First, entities belonging to different domains
are completely isolated from each other; there is no traffic, meta-traffic
or any other way for an application or the Service itself to see entities
in a domain it does not belong to. Second, an Entity can only belong to
one domain whereas an Entity can be in multiple partitions. Finally, as
far as the DDS Service is concerned, each unique data instance is
identified by the tuple (domainId, Topic, key). Therefore two Entity
objects in different domains cannot refer to the same data instance. On
the other hand, the same data instance can be made available (published)
or requested (subscribed) on one or more partitions.QosPolicy.ForDataReader, QosPolicy.ForDataWriter, QosPolicy.ForDomainParticipant, QosPolicy.ForDomainParticipantFactory, QosPolicy.ForPublisher, QosPolicy.ForSubscriber, QosPolicy.ForTopic
Modifier and Type | Method and Description |
---|---|
Set<String> |
getName() |
Partition |
withName(Collection<String> name)
Copy this policy and override the value of the property.
|
getEnvironment
Partition withName(Collection<String> name)
Copyright © 2014. All rights reserved.