Skip to content

Extend endpoint APIs with getters for currently used locators [10495]#1749

Merged
MiguelCompany merged 33 commits intofeature/unique_network_flowsfrom
feature/get-locators
Feb 17, 2021
Merged

Extend endpoint APIs with getters for currently used locators [10495]#1749
MiguelCompany merged 33 commits intofeature/unique_network_flowsfrom
feature/get-locators

Conversation

@MiguelCompany
Copy link
Copy Markdown
Member

This PR is part of the unique network flows feature

  • Adding get_listening_locators to Subscriber / DataReader
  • Adding get_sending_locators to Publisher / DataWriter
  • Tests

@MiguelCompany MiguelCompany added the no-aarch Skip build & test for aarch64 label Feb 10, 2021
@richiprosima
Copy link
Copy Markdown
Contributor

Build status:

  • Linux Build Status
  • Linux aarch64Build Status
  • Mac Build Status
  • Windows Build Status

* @return OK if a list of locators is returned.
*/
RTPS_DllAPI ReturnCode_t get_listening_locators(
eprosima::fastrtps::rtps::LocatorList_t& locators) const;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

If we are going to use LocatorList_t as argument type, we could make an alias in eprosima::fastdds::dds. It feels odd to use something from fastrtps in this API (although we are already using GUID_t).

Additionally, this files pre-declares TopicAttributes and ReaderAttributes in eprosima::fastrtps but are not used. We could remove them.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Which namespace would be the correct one? We already have some classes on eprosima::fastdds::rtps, so I would prefer to add them there.

Where do you think is a good place to add the aliases?
Should we add them directly on Locator.h?
Is it better to create a separate file with all the fastdds::rtps -> fastrtps::rtps aliases?

In the future (i.e. v3.0), we should get rid of the fastrtps namespace, so having a single place where we have all the necessary aliases may be better.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I have removed the forward declarations on b5f45fa

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

My bad on the comment. I really meant change it to eprosima::fastdds::rtps.

I think we can leave eprosima::fastdds::rtps to keep classes that are specific to RTPS layer, like locators (specific to RTPS in the sense that they deal with the underlying connection channel). I believe other classes in this namespace were put there following this rationale.

I would go for the fastdds::rtps -> fastrtps::rtps aliases, since the latter is the one to be deprecated. This is what we've been doing so far, with the QosPolicies, for example. Besides, deprecating the fastrtps::rtps will be as easy as removing the includes in fastrtps folder.

Regarding the place for the alias, right now we have:

  • include/fastdds/rtps/common/Locator.h that defines the locator in fastrtps::rtps
  • include/fastrtps/rtps/common/Locator.h which only includes the former, without changing the namespace.
    What I think we should do here is:
  • Change the namespace in include/fastdds/rtps/common/Locator.h to fastdds::rtps
  • Make the alias to fastrtps::rtps in include/fastrtps/rtps/common/Locator.h.

@richiprosima
Copy link
Copy Markdown
Contributor

Build status:

  • Linux Build Status
  • Linux aarch64Build Status
  • Mac Build Status
  • Windows Build Status

@richiprosima
Copy link
Copy Markdown
Contributor

Build status:

  • Linux Build Status
  • Linux aarch64Build Status
  • Mac Build Status
  • Windows Build Status

@richiprosima
Copy link
Copy Markdown
Contributor

Build status:

  • Linux Build Status
  • Linux aarch64Build Status
  • Mac Build Status
  • Windows Build Status

@MiguelCompany MiguelCompany force-pushed the feature/get-locators branch 2 times, most recently from af74509 to dce946a Compare February 15, 2021 14:14
@richiprosima
Copy link
Copy Markdown
Contributor

Build status:

  • Linux Build Status
  • Linux aarch64Build Status
  • Mac Build Status
  • Windows Build Status

@richiprosima
Copy link
Copy Markdown
Contributor

Build status:

  • Linux Build Status
  • Linux aarch64Build Status
  • Mac Build Status
  • Windows Build Status

@richiprosima
Copy link
Copy Markdown
Contributor

Build status:

  • Linux Build Status
  • Linux aarch64Build Status
  • Mac Build Status
  • Windows Build Status

@richiprosima
Copy link
Copy Markdown
Contributor

Build status:

  • Linux Build Status
  • Linux aarch64Build Status
  • Mac Build Status
  • Windows Build Status

…cators

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>
MiguelCompany and others added 17 commits February 17, 2021 12:18
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>
Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
@richiprosima
Copy link
Copy Markdown
Contributor

Build status:

  • Linux Build Status
  • Linux aarch64Build Status
  • Mac Build Status
  • Windows Build Status

Copy link
Copy Markdown
Contributor

@IkerLuengo IkerLuengo left a comment

Choose a reason for hiding this comment

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

LGTM

Also, failing tests are known to be flaky

@MiguelCompany MiguelCompany merged commit 7d71fee into feature/unique_network_flows Feb 17, 2021
@MiguelCompany MiguelCompany deleted the feature/get-locators branch February 17, 2021 15:30
MiguelCompany added a commit that referenced this pull request Feb 26, 2021
* Refs 10495. Modified Subscriber API to retrieve endpoint listening locators

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

* Refs 10495. Removed unnecessary RTPS_DllAPI.

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

* Refs 10495. Added get_listening_locators to DataReader API.

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

* Refs 10495. Added test to DataReaderTests.

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

* Refs 10495. Blackbox test added.

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

* Refs 10495. Uncrustify SenderResource headers.

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

* Refs 10495. Add empty interface add_locators_to_list.

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

* Refs 10495. Implementation of UDPSenderResource::add_locators_to_list.

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

* Refs 10495. Method endpoint_to_locator sets locator kind.

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

* Refs 10495. Added RTPSParticipantImpl::get_sending_locators.

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

* Refs 10495. Added get_sending_locators to fastrtps Publisher.

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

* Refs 10495. Added get_sending_locators to fastdds DataWriter.

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

* Refs 10495. Blackbox test added.

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

* Refs 10495. Fixing mock of RTPSParticipantImpl.

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

* Refs 10495. Extended test on DataReader.

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

* Refs 10495. Added PubGetSendingLocatorsWhitelist blackbox test.

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

* Refs 10495. Remove unused forward declarations

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

* Refs 10495. Fixed build error on Linux and Mac.

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

* Refs 10495. Fixed typo on DataReaderTests.

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

* Refs 10495. Uncrustify.

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

* Refs 10495. Moving LocatorList_t to eprosima::fastdds::rtps.

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

* Refs 10495. Using LocatorList from new namespace on DataWriter.

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

* Refs 10495. Using LocatorList from new namespace on DataReader.

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

* Refs 10495. Updating includes on core/policy.

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

* Refs 10495. Include what you use on NetworkFactory.h.

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

* Refs 10495. Updating transports.

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

* Refs 10495. Updating discovery server code.

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

* Refs 10495. Updating utils::Host.

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

* Refs 10495. Updating tests.

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

* Refs 10495. Updating examples.

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

* Refs 10495. Uncrustify.

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

* Refs 10495. Adding debug to Blackbox test.

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

* Fix on blackbox test

Signed-off-by: Miguel Company <MiguelCompany@eprosima.com>
EduPonz pushed a commit that referenced this pull request Mar 1, 2021
* Extend endpoint QoS with new unique locators request feature (#1757)

* Refs 10496. Prepare compatibility checks on DataReaderQos.

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

* Refs 10496. Remove old TODO code.

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

* fixup

* Refs 10496. Add InvalidQos checks to DataReaderTests.

* Refs 10496. Fix link error on ListenerTests.

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

* Refs 10496. Fixed const -> const ref on property policy setters.

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

* Refs 10496. Add blackbox test expecting endpoint creation failure.

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

* Refs 10496. Fail on creation of endpoints requesting unique_network_flows.

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

* Refs 10496. Add check for UNSUPPORTED_QOS on DataWriterTests.

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

* Refs 10496.Fail with unsupported on DataWriterImpl::check_qos.

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

* Extend endpoint APIs with getters for currently used locators (#1749)

* Refs 10495. Modified Subscriber API to retrieve endpoint listening locators

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

* Refs 10495. Removed unnecessary RTPS_DllAPI.

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

* Refs 10495. Added get_listening_locators to DataReader API.

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

* Refs 10495. Added test to DataReaderTests.

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

* Refs 10495. Blackbox test added.

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

* Refs 10495. Uncrustify SenderResource headers.

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

* Refs 10495. Add empty interface add_locators_to_list.

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

* Refs 10495. Implementation of UDPSenderResource::add_locators_to_list.

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

* Refs 10495. Method endpoint_to_locator sets locator kind.

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

* Refs 10495. Added RTPSParticipantImpl::get_sending_locators.

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

* Refs 10495. Added get_sending_locators to fastrtps Publisher.

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

* Refs 10495. Added get_sending_locators to fastdds DataWriter.

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

* Refs 10495. Blackbox test added.

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

* Refs 10495. Fixing mock of RTPSParticipantImpl.

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

* Refs 10495. Extended test on DataReader.

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

* Refs 10495. Added PubGetSendingLocatorsWhitelist blackbox test.

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

* Refs 10495. Remove unused forward declarations

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

* Refs 10495. Fixed build error on Linux and Mac.

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

* Refs 10495. Fixed typo on DataReaderTests.

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

* Refs 10495. Uncrustify.

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

* Refs 10495. Moving LocatorList_t to eprosima::fastdds::rtps.

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

* Refs 10495. Using LocatorList from new namespace on DataWriter.

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

* Refs 10495. Using LocatorList from new namespace on DataReader.

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

* Refs 10495. Updating includes on core/policy.

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

* Refs 10495. Include what you use on NetworkFactory.h.

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

* Refs 10495. Updating transports.

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

* Refs 10495. Updating discovery server code.

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

* Refs 10495. Updating utils::Host.

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

* Refs 10495. Updating tests.

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

* Refs 10495. Updating examples.

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

* Refs 10495. Uncrustify.

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

* Refs 10495. Adding debug to Blackbox test.

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

* Fix on blackbox test

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

* Implementation of unique locators request feature for readers (#1768)

* Refs 10497. Update sub_unique_network_flows blackbox.

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

* Refs 10497. Added PubSubBasic test with unique flows feature.

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

* Refs 10497. Added method to parse property value.

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

* Refs 10497. createReceiverResources now returns bool.

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

* Refs 10497. Try to create specific resources when requested.

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

* Refs 10497. PubSubParticipant takes data when received.

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

* Refs 10497. Uncrustify.

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

* Refs 10497. Fix build error on non-windows platforms.

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

no-aarch Skip build & test for aarch64

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants