====== F.13 Partition ====== [[dido:public:ra:xapend:xapend.f_qos:start| Return to DDS Quality of Service ]] The [[dido:public:ra:xapend:xapend.a_glossary:p:partition|PARTITION]] [[dido:public:ra:xapend:xapend.a_glossary:p:policy|policy]] allows the introduction of a logical [[dido:public:ra:xapend:xapend.a_glossary:p:partition|partition]] concept inside the ‘physical’ partition induced by a domain. For a ''DataReader'' to see the changes made to an [[dido:public:ra:xapend:xapend.a_glossary:i:instance|instance]] by a ''DataWriter'', not only the ''[[dido:public:ra:xapend:xapend.a_glossary:t:topic|Topic]]'' must match, but also they must share a common partition. Each string in the list that defines this [[dido:public:ra:xapend:xapend.a_glossary:q:qos|QoS]] policy defines a partition name. A partition name may contain wildcards. 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. PARTITION names can be regular expressions and include wildcards as defined by the POSIX ''fnmatch'' [[dido:public:ra:xapend:xapend.a_glossary:a:api|API]] (1003.2-1992 section B.6). Either ''[[dido:public:ra:xapend:xapend.a_glossary:p:publisher|Publisher]]'' or ''[[dido:public:ra:xapend:xapend.a_glossary:s:subscriber|Subscriber]]'' 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 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 [[dido:public:ra:xapend:xapend.a_glossary:e:entity|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 [[dido:public:ra:xapend:xapend.a_glossary:a:application|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'', [[dido:public:ra:xapend:xapend.a_glossary:k:key|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. Source: [[https://www.omg.org/spec/DDS/1.4/PDF | DDS 1.4 Spec]] /**=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- /* To add a discussion page to this page, comment out the line that says ~~DISCUSSION:off~~ */ ~~DISCUSSION:on|Outstanding Issues~~ ~~DISCUSSION:off~~