Overview
A ContentFilteredTopic creates a relationship between a Topic, also called the related topic, and user-specified filtering properties. The filtering properties consist of an expression and a set of parameters.
- The filter expression evaluates a logical expression on the Topic content. The filter expression is similar to the WHERE clause in a SQL expression.
- The parameters are strings that give values to the 'parameters' in the filter expression. There must be one parameter string for each parameter in the filter expression.
A ContentFilteredTopic is a type of topic description, and can be used to create DataReaders. However, a ContentFilteredTopic is not an entity—it does not have QosPolicies or Listeners.
A ContentFilteredTopic relates to other entities in Connext DDS as follows:
- ContentFilteredTopics are used when creating DataReaders, not DataWriters.
- Multiple DataReaders can be created with the same ContentFilteredTopic.
- A ContentFilteredTopic belongs to (is created/deleted by) a DomainParticipant.
- A ContentFilteredTopic and Topic must be in the same DomainParticipant.
- A ContentFilteredTopic can only be related to a single Topic.
- A Topic can be related to multiple ContentFilteredTopics.
- A ContentFilteredTopic can have the same name as a Topic, but ContentFilteredTopics must have unique names within the same DomainParticipant.
- A DataReader created with a ContentFilteredTopic will use the related Topic's QoS and Listeners.
- Changing filter parameters on a ContentFilteredTopic causes all DataReaders using the same ContentFilteredTopic to see the change.
- A Topic cannot be deleted as long as at least one ContentFilteredTopic that has been created with it exists.
- A ContentFilteredTopic cannot be deleted as long as at least one DataReader that has been created with the ContentFilteredTopic exists.
© 2016 RTI