![]() |
OpenSplice Java 5 DCPS
v6.x
OpenSplice Java 5 OpenSplice Data Distribution Service Data-Centric Publish-Subscribe API
|
This policy allows the introduction of a logical partition concept inside the "physical" partition induced by a domain. More...
Public Member Functions | |
ServiceEnvironment | getEnvironment () |
Set< String > | getName () |
Partition | withName (Collection< String > name) |
Copy this policy and override the value of the property. More... | |
Partition | withName (String name) |
Copy this policy and override the value of the property. More... | |
Partition | withName (String... names) |
Copy this policy and override the value of the property. More... | |
This policy allows the introduction of a logical partition concept inside the "physical" partition induced by a domain.
It consists of a set of strings that introduces a logical partition among the topics visible by the org.omg.dds.pub.Publisher and org.omg.dds.sub.Subscriber.
Concerns: org.omg.dds.pub.Publisher, org.omg.dds.sub.Subscriber
RxO: No
Changeable: Yes
A org.omg.dds.pub.DataWriter within a Publisher only communicates with a org.omg.dds.sub.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 org.omg.dds.pub.Publisher or org.omg.dds.sub.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 org.omg.dds.core.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.
Definition at line 86 of file Partition.java.
|
inherited |
Implemented in org.omg.dds.core.ServiceEnvironment, org.opensplice.dds.sub.ReflectionDataReader< TYPE, OUT_TYPE >, org.opensplice.dds.core.ModifiableTimeImpl, org.opensplice.dds.pub.ReflectionDataWriter< TYPE >, org.opensplice.dds.core.DurationImpl, org.opensplice.dds.topic.ContentFilteredTopicImpl< TYPE >, org.opensplice.dds.sub.ReadConditionImpl< TYPE >, org.opensplice.dds.core.EntityQosImpl< T extends QosPolicy >, org.opensplice.dds.type.TypeSupportImpl< TYPE >, org.opensplice.dds.topic.PublicationBuiltinTopicDataImpl, org.opensplice.dds.topic.SubscriptionBuiltinTopicDataImpl, org.opensplice.dds.topic.TopicBuiltinTopicDataImpl, org.opensplice.dds.domain.DomainParticipantFactoryImpl, org.opensplice.dds.core.QosProviderImpl, org.opensplice.dds.core.status.OfferedIncompatibleQosStatusImpl, org.opensplice.dds.core.status.RequestedIncompatibleQosStatusImpl, org.opensplice.dds.core.InstanceHandleImpl, org.opensplice.dds.core.StatusConditionImpl< T extends Entity<?, ?>, org.opensplice.dds.core.status.LivelinessChangedStatusImpl, org.opensplice.dds.core.status.PublicationMatchedStatusImpl, org.opensplice.dds.core.status.SubscriptionMatchedStatusImpl, org.opensplice.dds.sub.SampleImpl< TYPE >, org.opensplice.dds.core.policy.ShareImpl, org.opensplice.dds.core.status.OfferedDeadlineMissedStatusImpl, org.opensplice.dds.core.status.SampleRejectedStatusImpl, org.opensplice.dds.core.WaitSetImpl, org.opensplice.dds.topic.ParticipantBuiltinTopicDataImpl, org.opensplice.dds.core.status.RequestedDeadlineMissedStatusImpl, org.opensplice.dds.topic.BuiltinTopicKeyImpl, org.opensplice.dds.core.GuardConditionImpl, org.opensplice.dds.core.event.AllDataDisposedEventImpl< TYPE >, org.opensplice.dds.core.policy.QosPolicyCountImpl, org.opensplice.dds.core.status.InconsistentTopicStatusImpl, org.opensplice.dds.core.status.LivelinessLostStatusImpl, org.opensplice.dds.core.status.SampleLostStatusImpl, org.opensplice.dds.core.policy.QosPolicyImpl, org.opensplice.dds.core.status.AllDataDisposedStatusImpl, org.opensplice.dds.core.IllegalArgumentExceptionImpl, org.opensplice.dds.core.InconsistentPolicyExceptionImpl, org.opensplice.dds.core.policy.PolicyFactoryImpl, org.opensplice.dds.core.policy.TypeConsistencyEnforcementImpl, org.opensplice.dds.core.PreconditionNotMetExceptionImpl, org.opensplice.dds.core.AlreadyClosedExceptionImpl, org.opensplice.dds.core.IllegalOperationExceptionImpl, org.opensplice.dds.core.ImmutablePolicyExceptionImpl, org.opensplice.dds.core.NotEnabledExceptionImpl, org.opensplice.dds.core.OutOfResourcesExceptionImpl, org.opensplice.dds.core.DDSExceptionImpl, org.opensplice.dds.core.status.DataAvailableStatusImpl, and org.opensplice.dds.core.status.DataOnReadersStatusImpl.
Set<String> org.omg.dds.core.policy.Partition.getName | ( | ) |
Implemented in org.opensplice.dds.core.policy.PartitionImpl.
Partition org.omg.dds.core.policy.Partition.withName | ( | Collection< String > | name | ) |
Copy this policy and override the value of the property.
name | A Collection of strings, which specifies the partitions. |
Implemented in org.opensplice.dds.core.policy.PartitionImpl.
Partition org.omg.dds.core.policy.Partition.withName | ( | String | name | ) |
Copy this policy and override the value of the property.
name | A name string , which specifies the partition. |
Implemented in org.opensplice.dds.core.policy.PartitionImpl.
Partition org.omg.dds.core.policy.Partition.withName | ( | String... | names | ) |
Copy this policy and override the value of the property.
names | An arbitrary number of name strings , which specifies the partitions. |
Implemented in org.opensplice.dds.core.policy.PartitionImpl.