Skip to content

[15017] External locators implementation#2822

Merged
MiguelCompany merged 27 commits intofeature/external-locators/mainfrom
feature/external-locators/implementation
Sep 29, 2022
Merged

[15017] External locators implementation#2822
MiguelCompany merged 27 commits intofeature/external-locators/mainfrom
feature/external-locators/implementation

Conversation

@MiguelCompany
Copy link
Copy Markdown
Member

@MiguelCompany MiguelCompany commented Jul 7, 2022

Description

Adds implementation for the external locators feature.

Contributor Checklist

  • Commit messages follow the project guidelines.
  • The code follows the style guidelines of this project.
  • Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added.
  • Any new/modified methods have been properly documented using Doxygen.
  • Fast DDS test suite has been run locally.
  • ❌ Changes are ABI compatible.
  • Changes are API compatible.
  • Documentation builds and tests pass locally.
  • N/A New feature has been added to the versions.md file (if applicable). <-- Will be done on the PR to master
  • N/A New feature has been documented/Current behavior is correctly described in the documentation. <-- Will be done on the PR to master

Reviewer Checklist

  • Check contributor checklist is correct.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

@MiguelCompany MiguelCompany added no-test Skip CI tests if PR marked with this label no-aarch Skip build & test for aarch64 labels Jul 7, 2022
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/implementation branch from 133b672 to dc6cf7a Compare July 7, 2022 12:01
@MiguelCompany
Copy link
Copy Markdown
Member Author

@richiprosima Please test this

@MiguelCompany MiguelCompany force-pushed the feature/external-locators/implementation branch from dc6cf7a to b163ffd Compare July 8, 2022 05:22
@MiguelCompany
Copy link
Copy Markdown
Member Author

@richiprosima Please test this

@MiguelCompany
Copy link
Copy Markdown
Member Author

@richiprosima Please test mac

@MiguelCompany MiguelCompany force-pushed the feature/external-locators/implementation branch 2 times, most recently from 9dd9eb9 to a6930cd Compare July 22, 2022 06:23
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/main branch from a312a47 to 43703ad Compare July 22, 2022 06:24
@MiguelCompany MiguelCompany removed the no-test Skip CI tests if PR marked with this label label Jul 22, 2022
@MiguelCompany
Copy link
Copy Markdown
Member Author

@richiprosima Please test this

@MiguelCompany MiguelCompany added this to the v2.7.2 milestone Jul 22, 2022
@MiguelCompany MiguelCompany modified the milestones: v2.7.2, v2.8.0 Jul 29, 2022
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/main branch from 43703ad to a235097 Compare August 1, 2022 07:52
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/implementation branch 4 times, most recently from cc790da to 9070edc Compare August 3, 2022 12:11
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/main branch from 504cc49 to feb1c05 Compare September 8, 2022 14:40
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/implementation branch 2 times, most recently from 6da9404 to f5ea1e4 Compare September 23, 2022 11:18
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/main branch from feb1c05 to dbdb1d6 Compare September 28, 2022 05:57
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/implementation branch from f5ea1e4 to 09f6934 Compare September 28, 2022 07:25
@MiguelCompany MiguelCompany marked this pull request as ready for review September 28, 2022 07:26
@MiguelCompany
Copy link
Copy Markdown
Member Author

@richiprosima Please test this

Copy link
Copy Markdown
Contributor

@jsan-rt jsan-rt left a comment

Choose a reason for hiding this comment

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

Just two little comments regarding some asserts.

@jsan-rt
Copy link
Copy Markdown
Contributor

jsan-rt commented Sep 28, 2022

ExternalLocatorsProcessorTests are passing. CI failures unrelated.

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

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>
…external_locators.

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

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
…mote_locators delegate into internal function.

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

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>
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/main branch from 596755b to db3843a Compare September 29, 2022 05:57
@MiguelCompany MiguelCompany force-pushed the feature/external-locators/implementation branch from 179e701 to 61603a9 Compare September 29, 2022 05:57
@MiguelCompany
Copy link
Copy Markdown
Member Author

@richiprosima Please test this

@MiguelCompany MiguelCompany added the no-test Skip CI tests if PR marked with this label label Sep 29, 2022
@MiguelCompany
Copy link
Copy Markdown
Member Author

@richiprosima Please test this

@MiguelCompany MiguelCompany merged this pull request into feature/external-locators/main Sep 29, 2022
@MiguelCompany MiguelCompany deleted the feature/external-locators/implementation branch September 29, 2022 07:59
EduPonz pushed a commit that referenced this pull request Sep 29, 2022
* Refs #15017. Added mock for ExternalLocatorsProcessor.

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

* Refs #15017. Processing new fields on wire_protocol QoS.

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

* Refs #15017. Processing new fields on DataWriterQos.

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

* Refs #15017. Processing new fields on DataReaderQos.

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

* Refs #15017. Adding new elements to XSD.

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

* Refs #15017. Processing external locator list XML element.

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

* Refs #15017. XML parsing update of BuiltinAttributes.

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

* Refs #15017. XML parsing update of ParticipantAttributes.

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

* Refs #15017. XML parsing update of PublisherAttributes and SubscriberAttributes.

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

* Refs #15017. Added participant interactions.

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

* Refs #15017. Added reader creation interactions.

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

* Refs #15017. Added writer creation interactions.

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

* Refs #15017. Filter locators of discovered participant.

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

* Refs #15017. Filter locators of discovered reader.

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

* Refs #15017. Filter locators of discovered writer.

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

* Refs #15017. Added implementation for ExternalLocatorsProcessor::add_external_locators.

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

* Refs #15017. Added implementation for ExternalLocatorsProcessor::set_listening_locators.

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

* Refs #15017. Implementations for ExternalLocatorsProcessor::filter_remote_locators delegate into internal function.

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

* Refs #15017. Add function to check if two addresses match.

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

* Refs #15017. Add function to check if two locators match.

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

* Refs #15017. Implement filtering algorithm by sorting and then discarding.

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

* Refs #15017. Setup external locators on builtin endpoints.

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

* Refs #15017. Avoid duplicated tags inside <rtps>.

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

* Refs #15017. Avoid duplicated tags inside <builtin>.

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

* Refs #15017. Avoid duplicated tags inside publisher profiles.

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

* Refs #15017. Avoid duplicated tags inside subscriber profiles.

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

* Refs #15017. Avoid duplicated tags inside locator elements.

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

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
MiguelCompany added a commit that referenced this pull request Sep 29, 2022
* Refs #15017. Added mock for ExternalLocatorsProcessor.

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

* Refs #15017. Processing new fields on wire_protocol QoS.

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

* Refs #15017. Processing new fields on DataWriterQos.

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

* Refs #15017. Processing new fields on DataReaderQos.

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

* Refs #15017. Adding new elements to XSD.

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

* Refs #15017. Processing external locator list XML element.

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

* Refs #15017. XML parsing update of BuiltinAttributes.

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

* Refs #15017. XML parsing update of ParticipantAttributes.

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

* Refs #15017. XML parsing update of PublisherAttributes and SubscriberAttributes.

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

* Refs #15017. Added participant interactions.

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

* Refs #15017. Added reader creation interactions.

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

* Refs #15017. Added writer creation interactions.

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

* Refs #15017. Filter locators of discovered participant.

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

* Refs #15017. Filter locators of discovered reader.

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

* Refs #15017. Filter locators of discovered writer.

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

* Refs #15017. Added implementation for ExternalLocatorsProcessor::add_external_locators.

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

* Refs #15017. Added implementation for ExternalLocatorsProcessor::set_listening_locators.

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

* Refs #15017. Implementations for ExternalLocatorsProcessor::filter_remote_locators delegate into internal function.

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

* Refs #15017. Add function to check if two addresses match.

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

* Refs #15017. Add function to check if two locators match.

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

* Refs #15017. Implement filtering algorithm by sorting and then discarding.

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

* Refs #15017. Setup external locators on builtin endpoints.

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

* Refs #15017. Avoid duplicated tags inside <rtps>.

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

* Refs #15017. Avoid duplicated tags inside <builtin>.

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

* Refs #15017. Avoid duplicated tags inside publisher profiles.

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

* Refs #15017. Avoid duplicated tags inside subscriber profiles.

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

* Refs #15017. Avoid duplicated tags inside locator elements.

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

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
MiguelCompany added a commit that referenced this pull request Sep 29, 2022
* Adding empty implementation for ExternalLocatorsProcessor (#2815)

* Refs #15017. ExternalLocatorsProcessor declaration.

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

* Refs #15017. ExternalLocatorsProcessor empty definitions.

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

* Refs #15017. Apply suggestions from code review.

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

Co-authored-by: Ricardo González <ricardo@richiware.dev>

Co-authored-by: Ricardo González <ricardo@richiware.dev>

* External locators XML parsing tests (#2902)

* Refs #14631. Use StrictMock for log_mock on XMLProfileParserTests.

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

* Refs #14631. Adding basic structure for new test on XMLProfileParserTests.

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

* Refs #14631. Adding participant positive cases.

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

* Refs #14631. Adding participant negative cases.

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

* Refs #14631. Adding data_writer positive cases.

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

* Refs #14631. Adding data_reader positive cases.

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

* Refs #14631. Adding external locators to XMLParserParticipant test.

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

* Refs #14631. Adding external locators to XMLParserPublisher test.

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

* Refs #14631. Adding external locators to XMLParserSubscriber test.

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

* Refs #14631: apply review suggestion

Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Refs #14631. Added more negative cases.

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

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Co-authored-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* Unit tests for ExternalLocatorsProcessor (#2974)

* Refs #14631. Adding new empty test on unittest/rtps/network.

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

* Refs #14631. Add source files to CMakeLists.txt

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

* Refs #14631. Add default_locators to mock of ParticipantProxyData.

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

* Refs #14631. Test for add_external_locators_participant.

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

* Refs #14631. Test for add_external_locators on reader and writer.

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

* Refs #14631. Additional participant tests.

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

* Refs #14631. Additional endpoint tests.

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

* Refs #14631. Add separation comments.

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

* Refs #14631. Fixed locators string format.

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

* Refs #14631. Fixed order of arguments in add_external_locators_participant.

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

* Refs #14631. Reduce number of loops.

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

* Refs #14631. Matching locators scenario.

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

* Refs #14631. Data structures representing the scenario.

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

* Refs #14631. Added test matching_locators_scenario.

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

* Refs #14631. Increased cases on matching_locators_scenario.

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

* Refs #14631. Adding test for filtering a LocatorSelectorEntry.

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

* Refs #14631. Adding test for IP mask matching behavior.

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

* Refs #14631. Uncrustify.

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

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Co-authored-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>

* External locators implementation (#2822)

* Refs #15017. Added mock for ExternalLocatorsProcessor.

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

* Refs #15017. Processing new fields on wire_protocol QoS.

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

* Refs #15017. Processing new fields on DataWriterQos.

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

* Refs #15017. Processing new fields on DataReaderQos.

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

* Refs #15017. Adding new elements to XSD.

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

* Refs #15017. Processing external locator list XML element.

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

* Refs #15017. XML parsing update of BuiltinAttributes.

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

* Refs #15017. XML parsing update of ParticipantAttributes.

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

* Refs #15017. XML parsing update of PublisherAttributes and SubscriberAttributes.

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

* Refs #15017. Added participant interactions.

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

* Refs #15017. Added reader creation interactions.

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

* Refs #15017. Added writer creation interactions.

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

* Refs #15017. Filter locators of discovered participant.

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

* Refs #15017. Filter locators of discovered reader.

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

* Refs #15017. Filter locators of discovered writer.

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

* Refs #15017. Added implementation for ExternalLocatorsProcessor::add_external_locators.

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

* Refs #15017. Added implementation for ExternalLocatorsProcessor::set_listening_locators.

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

* Refs #15017. Implementations for ExternalLocatorsProcessor::filter_remote_locators delegate into internal function.

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

* Refs #15017. Add function to check if two addresses match.

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

* Refs #15017. Add function to check if two locators match.

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

* Refs #15017. Implement filtering algorithm by sorting and then discarding.

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

* Refs #15017. Setup external locators on builtin endpoints.

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

* Refs #15017. Avoid duplicated tags inside <rtps>.

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

* Refs #15017. Avoid duplicated tags inside <builtin>.

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

* Refs #15017. Avoid duplicated tags inside publisher profiles.

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

* Refs #15017. Avoid duplicated tags inside subscriber profiles.

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

* Refs #15017. Avoid duplicated tags inside locator elements.

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

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

* Refs #15745. Updated versions.md

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

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
Signed-off-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Co-authored-by: Ricardo González <ricardo@richiware.dev>
Co-authored-by: JLBuenoLopez-eProsima <joseluisbueno@eprosima.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-aarch Skip build & test for aarch64 no-test Skip CI tests if PR marked with this label

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants