Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding content filter interfaces [13290] #2359

Merged
merged 21 commits into from
Dec 21, 2021

Conversation

MiguelCompany
Copy link
Member

This PR prepares all the necessary interfaces for the implementation of content filters in the reader side.

@MiguelCompany MiguelCompany added this to the v2.5.0 milestone Dec 17, 2021
@MiguelCompany MiguelCompany changed the title Adding content-filter interfaces [13290] Adding content filter interfaces [13290] Dec 17, 2021
@JLBuenoLopez
Copy link
Contributor

This test is failing:

unittest.dds.participant.ParticipantTests.UnsupportedMethods

DomainParticipant::delete_contentfilteredtopic is implemented in this PR

@MiguelCompany
Copy link
Member Author

@richiprosima Please test windows

Copy link

@EduPonz EduPonz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd appreciate if the negative case could cover all the possible cases

@MiguelCompany MiguelCompany force-pushed the feature/content-filter/main branch from 7ba9801 to 2c902e2 Compare December 20, 2021 13:25
MiguelCompany and others added 20 commits December 20, 2021 14:59
* Refs 12663. Adding ContentFilteredTopic header.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Adding ContentFilteredTopic basic code.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Moving code to DomainParticipantImpl.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Adding filtered_topics_ to DomainParticipantImpl.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Implementing create_contentfilteredtopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Implementing delete_contentfilteredtopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. ContentFilteredTopicImpl moved to its own header.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. ContentFilteredTopicImpl implements IReaderDataFilter.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Adding data_filter_ to RTPSReader.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Link filter on RTPS reader creation.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Filtering data on StatefulReader.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Filtering data on StatelessReader.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Fixed unit test build error.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Use topic name from related topic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Adding filter_name.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Adding content filter interfaces.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Using IContentFilterFactory.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Adding get_descriptor to type support.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Use filter factory and instance on ContentFilteredTopicImpl.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Moved IReaderDataFilter to base rtps folder.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Added custom filter interfaces to DomainParticipant.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Added DynamicPubSubType::get_descriptor.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Linters.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12663. Fixed warning

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Add reader_guid to IContentFilter.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Fix method names,

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Use constexpr for default filter name.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Fix warnings.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Uncrustify.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Include what you use on DomainParticipant.hpp.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Adressed some review comments on DomainParticipant.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. More review comments addressed.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Custom filter methods renamed.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Add implementation for create_contentfilteredtopic overload.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Fail when filter_name is nullptr.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Parameter filter_name renamed to filter_class_name.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Fixing build of statistics tests.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Add get_content_filter to RTPSReader.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. IReaderDataFilter.hpp moved to interfaces folder.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Uncrustify.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Adding some error messages.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Allowing a factory to manage several filter classes.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Adding empty implementation of custom factory registry methods.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Adding implementation of custom factory registry methods.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Lookup factory on create_contentfilteredtopic.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Uncrustify.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Apply suggestions from code review

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

* Refs 12540. Suggestions on ContentFilteredTopic header.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Add alias for GUID_t on IContentFilter.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Additional RETCODE_PRECONDITION_NOT_MET on register_content_filter_factory doxydoc.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Interfaces don't have destructors.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Apply suggestions from code review

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>

Co-authored-by: Eduardo Ponz Segrelles <eduardoponz@eprosima.com>
* Refs 12540. Update IContentFilterFactory::create_content_filter.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Use updated IContentFilterFactory::create_content_filter.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Rename parameter.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>

* Refs 12540. Remove get_descriptor() from TopicDataType.

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
…nd in collection)

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
@MiguelCompany MiguelCompany force-pushed the feature/content-filter/main branch from 4b10193 to 11a2add Compare December 20, 2021 13:59
EduPonz
EduPonz previously approved these changes Dec 20, 2021
Copy link

@EduPonz EduPonz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants