RTI Monitor showing content filtered samples

2 posts / 0 new
Last post
Juanjo Martin's picture
Offline
Last seen: 2 years 3 months ago
Joined: 07/23/2012
Posts: 48
RTI Monitor showing content filtered samples

Hello RTI users,

I was trying to complete the Getting Started manual of RTI Monitor when I realise that it's not working as expected:

In 3.2 "Showing Content Filtered Samples", 3.b, the "filtered count" in the datawriter is expected to be non-zero but I get zero. 

Can anyone reproduce it and tell me if its only me? I use RTI Connext 5.0.0

Also I have another question. How is filtering working? It's been filtered in datawriter or in datareader?

I will be grateful for any help you can provide,

Juan J. Martin

Fernando Garcia's picture
Offline
Last seen: 4 months 2 weeks ago
Joined: 05/18/2011
Posts: 200

Hi Juan,

Thanks for bringing up this interesting topic. There is a good explaination on where content filtering is applied in the RTI Core Libraries and Utilities User's Manual (see section 5.4.2 in the 5.0.0 User's Manual).

Filtering can be performed on either side of the distributed application. Data writers will automatically filter data samples for Data Readers if all the following statements are true:

  1. The Data Writer has not reached the limit remote Data Readers it can filter. This number is defined on the DATA_WRITER_RESOURCE_LIMITS QoS policy writer_resource_limits.max_remote_reader_filters. When a Data Writer is filtering max_remote_reader_filters, Data Readers created won't be filtered by it, even If one of the Data Readers filtered is deleted. Only filtered Data Readers created after that deletion will be filtered by the Data Writer.
  2. Data Readers are not subscribing to data using multicast.
  3. There are no more than 4 matching Data Readers in the same locator (see Peer Descriptor Format).
  4. The Data Writer has infinite liveliness (see LIVELINESS QoS Policy).
  5. The Data Writer is not using an Asynchronous Publisher (see PUBLISH_MODE QoS Policy).
  6. Your custom filter (if you are using a filter other than the default one) is registered in the Domain Participant of the Data Writer and the Data Reader (see section 5.4.8.1 "Filtering on the Writer Side with Custom Filters" in the 5.0.0 User's Manual).

In any other case, Data Readers will do reader side filtering. Please, take a look at your scenario and see if these conditions are met.

A few more notes:

  • RTI Connext supports limited writer-side filtering when asynchronous publishing is enabled. The middleware won't send any sample to a destination where the sample would be filtered out by all the Data Readers. However, if there's one Data Reader that requires the sample, all the Data Readers on the destination will have to do reader side filtering.
  • A Data Writer can be configured to filter already written samples (stored in the Data Writer's queue) for newly discovered Data Readers (see refilter field in the Data Writer's HISTORY QoS policy).
  • Connext also supports network-switch filtering for multi-channel data writers as described in Chapter 18 of user's manual.