The dds::pub::NoOpDataWriterListener has "on_reliable_reader_activity_changed" which give the correct count of total active reliable readers.
is there a way to get the SubscriptionBuiltinTopicData for only the active reliable readers?
what i'm seeing is that after the total_active goes down, matched_subscription_data will still list in them. is there a way to look through this list and know which ones are active vs inactive?
Check out this API:
https://community.rti.com/static/documentation/connext-dds/current/doc/api/connext_dds/api_cpp2/classdds_1_1pub_1_1DataWriter.html#a6ad1f52cb1fd03dd8ef9576f58f66fcb
i've tried that. it doesn't result in the same count as active_count.
I assume you used matched_subscription_data() to get the data for all subscriptions?
How do you mean that the count isn't the same as active_count? How different are the values? Which one is greater?
Note active_count only applies to RELIABLE DataReaders. I think that is_matched_subscription_active probably applies to all DataReaders, both reliable and best_effort. So, I would expect the number of is_matched_subscription_active==true DataReaders to be greater than active_count when there are best_effort DataReaders.