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

[21295] Participant discovery structures refactor #5042

Merged
merged 23 commits into from
Jul 24, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
2845bb5
Refs #21295: changing the name of the callback from onParticipantDisc…
elianalf Jul 5, 2024
2abf514
Refs #21295: Change listener signature and DISCOVERY_STATUS to PARTIC…
elianalf Jul 5, 2024
250e4de
Refs #21295: Move PARTICIPANT_DISCOVERY_STATUS out of ParticipantDisc…
elianalf Jul 5, 2024
ecd6d07
Refs #21295: Substitute ParticipantDiscoveryInfo with ParticipantProx…
elianalf Jul 8, 2024
92af3ae
Refs #21295: Remove ParticiapntDiscoveryInfo
elianalf Jul 8, 2024
835e9fe
Refs #21295: Extend ParticipantBuiltinTopicData
elianalf Jul 8, 2024
8c94e64
Refs #21295: Create ParticipantBuiltinTopicData in rtps namespace
elianalf Jul 8, 2024
250fd1f
Refs #21295: Create from_proxy_to_builtin method for participant
elianalf Jul 8, 2024
3809fcc
Refs #21295: Substitute ParticipantProxyData with ParticipantBuiltinT…
elianalf Jul 9, 2024
2e58bd7
Refs #21295: Make ParticipantProxyData private
elianalf Jul 9, 2024
cb24187
Refs #21295: Update version.md
elianalf Jul 9, 2024
2f68fe4
Refs #21295: Uncrustify
elianalf Jul 9, 2024
3d0918e
Refs #21295: Fix compilation error after rebase
elianalf Jul 12, 2024
4047e7f
Refs #21295: Change name in camel case ParticipantDiscoveryStatus
elianalf Jul 16, 2024
a771a46
Refs #21295: Change signature of fill_discovery_data_from_cdr_message
elianalf Jul 16, 2024
29a9a64
Refs #21295: Apply changes to new example
elianalf Jul 17, 2024
270a979
Refs #21295: Apply suggestions
elianalf Jul 18, 2024
ca29ad0
Refs #21295: Apply suggestions
elianalf Jul 18, 2024
4355e4e
Refs #21295. Fix communication test build.
MiguelCompany Jul 19, 2024
b96554b
Refs #21295. Fix include order.
MiguelCompany Jul 19, 2024
890eca0
Refs #21295. Additional change on versions.md.
MiguelCompany Jul 19, 2024
2da7756
Refs #21295: Add missing guid conversion in the converter
elianalf Jul 23, 2024
2c4d7f5
Refs #21295: Adjust after rebase
elianalf Jul 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Refs #21295: Apply suggestions
Signed-off-by: elianalf <62831776+elianalf@users.noreply.github.com>
  • Loading branch information
elianalf committed Jul 23, 2024
commit 270a979697b85ae3e7f16b8483b63d68a1c13a39
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,7 @@
#ifndef FASTDDS_DDS_BUILTIN_TOPIC__PARTICIPANTBUILTINTOPICDATA_HPP
#define FASTDDS_DDS_BUILTIN_TOPIC__PARTICIPANTBUILTINTOPICDATA_HPP

#include <fastdds/dds/builtin/topic/BuiltinTopicKey.hpp>
#include <fastdds/dds/core/policy/QosPolicies.hpp>
#include <fastdds/rtps/builtin/data/ParticipantBuiltinTopicData.hpp>
#include <fastdds/rtps/common/RemoteLocators.hpp>

namespace eprosima {
namespace fastdds {
Expand Down
8 changes: 4 additions & 4 deletions include/fastdds/dds/domain/DomainParticipantListener.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,10 @@ class DomainParticipantListener :
* This method is called when a new Participant is discovered, or a previously discovered participant changes
* its QOS or is removed.
*
* @param[out] participant Pointer to the Participant which discovered the remote participant.
* @param[out] reason Reason of the change in the status of the discovered participant.
* @param[out] info Remote participant information. User can take ownership of the object.
* @param[out] should_be_ignored Flag to indicate the library to automatically ignore the discovered Participant.
* @param [out] participant Pointer to the Participant which discovered the remote participant.
* @param [out] reason Reason of the change in the status of the discovered participant.
* @param [out] info Remote participant information. User can take ownership of the object.
* @param [out] should_be_ignored Flag to indicate the library to automatically ignore the discovered Participant.
*/
virtual void on_participant_discovery(
DomainParticipant* participant,
Expand Down
43 changes: 11 additions & 32 deletions include/fastdds/rtps/builtin/data/ParticipantBuiltinTopicData.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
#ifndef FASTDDS_RTPS_BUILTIN_DATA__PARTICIPANTBUILTINTOPICDATA_HPP
#define FASTDDS_RTPS_BUILTIN_DATA__PARTICIPANTBUILTINTOPICDATA_HPP

#include <fastdds/dds/builtin/topic/BuiltinTopicKey.hpp>
#include <fastdds/dds/core/policy/QosPolicies.hpp>
#include <fastdds/rtps/builtin/data/BuiltinTopicKey.hpp>
#include <fastdds/rtps/common/RemoteLocators.hpp>

namespace eprosima {
Expand All @@ -30,55 +30,34 @@ namespace rtps {

struct ParticipantBuiltinTopicData
{
//! Constructor from ParticipantBuiltinTopicData
ParticipantBuiltinTopicData(
const ParticipantBuiltinTopicData& pdata)
: key(pdata.key)
, user_data(pdata.user_data)
, guid(pdata.guid)
, properties(pdata.properties)
, participant_name(pdata.participant_name)
, metatraffic_locators(pdata.metatraffic_locators)
, default_locators(pdata.default_locators)
, lease_duration(pdata.lease_duration)
, vendor_id(pdata.vendor_id)
, domain_id(pdata.domain_id)
{
}

//! Default constructor
ParticipantBuiltinTopicData()
{
}

//! Builtin topic Key
/// Builtin topic Key
BuiltinTopicKey_t key;

//! UserData QoS
/// UserData QoS
dds::UserDataQosPolicy user_data;

//! Participant GUID
/// Participant GUID
GUID_t guid;

//! Properties
/// Properties
dds::ParameterPropertyList_t properties;

//!Participant name
///Participant name
fastcdr::string_255 participant_name;

//!Metatraffic locators
///Metatraffic locators
RemoteLocatorList metatraffic_locators;

//!Default locators
///Default locators
RemoteLocatorList default_locators;

//! Lease Duration
/// Lease Duration
Duration_t lease_duration;

// Vendor id
/// Vendor id
VendorId_t vendor_id;

// Participant domain id
/// Participant domain id
dds::DomainId_t domain_id;
};

Expand Down
3 changes: 1 addition & 2 deletions include/fastdds/rtps/participant/RTPSParticipant.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ class WriterAttributes;
class ReaderAttributes;
class ResourceEvent;
class WLP;
class ParticipantProxyData;

/**
* @brief Class RTPSParticipant, contains the public API for a RTPSParticipant.
Expand Down Expand Up @@ -406,7 +405,7 @@ class FASTDDS_EXPORTED_API RTPSParticipant
*/
bool fill_discovery_data_from_cdr_message(
ParticipantBuiltinTopicData& data,
fastdds::statistics::MonitorServiceStatusData& msg);
const fastdds::statistics::MonitorServiceStatusData& msg);

/**
* fills in the PublicationBuiltinTopicData from a MonitorService Message
Expand Down
9 changes: 5 additions & 4 deletions include/fastdds/rtps/participant/RTPSParticipantListener.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include <fastdds/rtps/builtin/data/PublicationBuiltinTopicData.hpp>
#include <fastdds/rtps/builtin/data/SubscriptionBuiltinTopicData.hpp>
#include <fastdds/rtps/builtin/data/ParticipantBuiltinTopicData.hpp>
#include <fastdds/rtps/participant/ParticipantDiscoveryInfo.hpp>
#include <fastdds/rtps/reader/ReaderDiscoveryStatus.hpp>
#include <fastdds/rtps/writer/WriterDiscoveryStatus.hpp>

Expand Down Expand Up @@ -51,10 +52,10 @@ class FASTDDS_EXPORTED_API RTPSParticipantListener
* This method is called when a new Participant is discovered, or a previously discovered participant changes
* its QOS or is removed.
*
* @param[out] participant Pointer to the Participant which discovered the remote participant.
* @param[out] reason Reason of the change in the status of the discovered participant.
* @param[out] info Remote participant information. User can take ownership of the object.
* @param[out] should_be_ignored Flag to indicate the library to automatically ignore the discovered Participant.
* @param [out] participant Pointer to the Participant which discovered the remote participant.
* @param [out] reason Reason of the change in the status of the discovered participant.
* @param [out] info Remote participant information. User can take ownership of the object.
* @param [out] should_be_ignored Flag to indicate the library to automatically ignore the discovered Participant.
*/
virtual void on_participant_discovery(
RTPSParticipant* participant,
Expand Down
14 changes: 0 additions & 14 deletions include/fastdds/statistics/dds/domain/DomainParticipant.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ namespace statistics {

class MonitorServiceStatusData;


namespace dds {

/**
Expand Down Expand Up @@ -140,19 +139,6 @@ class DomainParticipant : public eprosima::fastdds::dds::DomainParticipant
* @return RETCODE_OK if the operation succeeds.
* @return RETCODE_ERROR if the operation fails.
*/
FASTDDS_EXPORTED_API eprosima::fastdds::dds::ReturnCode_t fill_discovery_data_from_cdr_message(
fastdds::rtps::ParticipantBuiltinTopicData& data,
statistics::MonitorServiceStatusData& msg);

/**
* fills in the ParticipantProxyData from a MonitorService Message
*
* @param [out] data Proxy to fill
* @param [in] msg MonitorService Message to get the proxy information from.
*
* @return RETCODE_OK if the operation succeeds.
* @return RETCODE_ERROR if the operation fails.
*/
FASTDDS_EXPORTED_API eprosima::fastdds::dds::ReturnCode_t fill_discovery_data_from_cdr_message(
fastdds::rtps::ParticipantBuiltinTopicData& data,
const statistics::MonitorServiceStatusData& msg);
Expand Down
2 changes: 1 addition & 1 deletion src/cpp/fastdds/domain/DomainParticipant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ ReturnCode_t DomainParticipant::get_discovered_participants(
}

ReturnCode_t DomainParticipant::get_discovered_participant_data(
rtps::ParticipantBuiltinTopicData& participant_data,
ParticipantBuiltinTopicData& participant_data,
const InstanceHandle_t& participant_handle) const
{
static_cast<void> (participant_data);
Expand Down
1 change: 0 additions & 1 deletion src/cpp/fastdds/domain/DomainParticipantImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
#include <fastdds/topic/TopicProxy.hpp>
#include <fastdds/topic/TopicProxyFactory.hpp>
#include <fastdds/utils/QosConverters.hpp>
#include <rtps/builtin/data/ProxyDataConverters.hpp>
#include <rtps/builtin/liveliness/WLP.hpp>
#include <rtps/RTPSDomainImpl.hpp>
#include <utils/SystemInfo.hpp>
Expand Down
1 change: 0 additions & 1 deletion src/cpp/fastdds/domain/DomainParticipantImpl.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@
#include <fastdds/rtps/participant/RTPSParticipantListener.hpp>
#include "fastdds/topic/DDSSQLFilter/DDSFilterFactory.hpp"
#include <fastdds/topic/TopicProxyFactory.hpp>
#include <rtps/builtin/data/ProxyDataConverters.hpp>
#include <rtps/reader/StatefulReader.hpp>

namespace eprosima {
Expand Down
4 changes: 0 additions & 4 deletions src/cpp/rtps/builtin/data/ParticipantProxyData.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@
#ifndef RTPS_BUILTIN_DATA__PARTICIPANTPROXYDATA_HPP
#define RTPS_BUILTIN_DATA__PARTICIPANTPROXYDATA_HPP

#ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC

#include <chrono>

#include <fastdds/dds/core/policy/QosPolicies.hpp>
Expand Down Expand Up @@ -235,6 +233,4 @@ class ParticipantProxyData
} // namespace fastdds
} // namespace eprosima

#endif // ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC

#endif // RTPS_BUILTIN_DATA__PARTICIPANTPROXYDATA_HPP
4 changes: 2 additions & 2 deletions src/cpp/rtps/builtin/discovery/participant/PDP.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -683,7 +683,7 @@ void PDP::notify_and_maybe_ignore_new_participant(
listener->on_participant_discovery(
getRTPSParticipant()->getUserRTPSParticipant(),
ParticipantDiscoveryStatus::DISCOVERED_PARTICIPANT,
std::move(info),
info,
should_be_ignored);
}

Expand Down Expand Up @@ -1337,7 +1337,7 @@ void PDP::actions_on_remote_participant_removed(

bool should_be_ignored = false;
listener->on_participant_discovery(mp_RTPSParticipant->getUserRTPSParticipant(), reason,
std::move(info), should_be_ignored);
info, should_be_ignored);
}

{
Expand Down
1 change: 1 addition & 0 deletions src/cpp/rtps/builtin/discovery/participant/PDPListener.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <mutex>

#include <fastdds/rtps/reader/ReaderListener.hpp>

#include <rtps/builtin/data/ParticipantProxyData.hpp>

namespace eprosima {
Expand Down
2 changes: 1 addition & 1 deletion src/cpp/rtps/participant/RTPSParticipant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ bool RTPSParticipant::disable_monitor_service() const

bool RTPSParticipant::fill_discovery_data_from_cdr_message(
ParticipantBuiltinTopicData& data,
fastdds::statistics::MonitorServiceStatusData& msg)
const fastdds::statistics::MonitorServiceStatusData& msg)
{
return mp_impl->fill_discovery_data_from_cdr_message(data, msg);
}
Expand Down
5 changes: 2 additions & 3 deletions src/cpp/rtps/participant/RTPSParticipantImpl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2932,18 +2932,17 @@ bool RTPSParticipantImpl::disable_monitor_service() const

bool RTPSParticipantImpl::fill_discovery_data_from_cdr_message(
fastdds::rtps::ParticipantBuiltinTopicData& data,
fastdds::statistics::MonitorServiceStatusData& msg)
const fastdds::statistics::MonitorServiceStatusData& msg)
{
bool ret = true;
CDRMessage_t serialized_msg{0};
serialized_msg.wraps = true;

serialized_msg.buffer = msg.value().entity_proxy().data();
serialized_msg.buffer = const_cast<octet*>(msg.value().entity_proxy().data());
serialized_msg.length = static_cast<uint32_t>(msg.value().entity_proxy().size());

ParticipantProxyData part_prox_data(m_att.allocation);


ret = part_prox_data.readFromCDRMessage(
&serialized_msg,
true,
Expand Down
2 changes: 1 addition & 1 deletion src/cpp/rtps/participant/RTPSParticipantImpl.h
Original file line number Diff line number Diff line change
Expand Up @@ -1229,7 +1229,7 @@ class RTPSParticipantImpl
*/
bool fill_discovery_data_from_cdr_message(
ParticipantBuiltinTopicData& data,
fastdds::statistics::MonitorServiceStatusData& msg);
const fastdds::statistics::MonitorServiceStatusData& msg);

/**
* fills in the PublicationBuiltinTopicData from a MonitorService Message
Expand Down
2 changes: 1 addition & 1 deletion src/cpp/statistics/fastdds/domain/DomainParticipant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ fastdds::dds::ReturnCode_t DomainParticipant::disable_monitor_service()

fastdds::dds::ReturnCode_t DomainParticipant::fill_discovery_data_from_cdr_message(
fastdds::rtps::ParticipantBuiltinTopicData& data,
fastdds::statistics::MonitorServiceStatusData& msg)
const fastdds::statistics::MonitorServiceStatusData& msg)
{
#ifdef FASTDDS_STATISTICS
return static_cast<DomainParticipantImpl*>(impl_)->fill_discovery_data_from_cdr_message(data, msg);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@ ReturnCode_t DomainParticipantImpl::disable_monitor_service()

ReturnCode_t DomainParticipantImpl::fill_discovery_data_from_cdr_message(
fastdds::rtps::ParticipantBuiltinTopicData& data,
fastdds::statistics::MonitorServiceStatusData& msg)
const fastdds::statistics::MonitorServiceStatusData& msg)
{
ReturnCode_t ret{efd::RETCODE_OK};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ class DomainParticipantImpl : public efd::DomainParticipantImpl,
*/
efd::ReturnCode_t fill_discovery_data_from_cdr_message(
fastdds::rtps::ParticipantBuiltinTopicData& data,
fastdds::statistics::MonitorServiceStatusData& msg);
const fastdds::statistics::MonitorServiceStatusData& msg);

/**
* fills in the WriterProxyData from a MonitorService Message
Expand Down
2 changes: 1 addition & 1 deletion test/blackbox/api/dds-pim/PubSubParticipant.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ class PubSubParticipant
void on_participant_discovery(
eprosima::fastdds::dds::DomainParticipant*,
eprosima::fastdds::rtps::ParticipantDiscoveryStatus status,
const eprosima::fastdds::rtps::ParticipantBuiltinTopicData& info,
const eprosima::fastdds::dds::ParticipantBuiltinTopicData& info,
bool& should_be_ignored)
{
static_cast<void>(should_be_ignored);
Expand Down
4 changes: 2 additions & 2 deletions test/blackbox/api/dds-pim/PubSubWriter.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ class PubSubWriter
void on_participant_discovery(
eprosima::fastdds::dds::DomainParticipant*,
eprosima::fastdds::rtps::ParticipantDiscoveryStatus status,
const eprosima::fastdds::rtps::ParticipantBuiltinTopicData& info,
const eprosima::fastdds::dds::ParticipantBuiltinTopicData& info,
bool& should_be_ignored) override
{
static_cast<void>(should_be_ignored);
Expand Down Expand Up @@ -2020,7 +2020,7 @@ class PubSubWriter
std::string participant_profile_ = "";
std::string datawriter_profile_ = "";

std::function<bool(const eprosima::fastdds::rtps::ParticipantBuiltinTopicData& info)> onDiscovery_;
std::function<bool(const eprosima::fastdds::dds::ParticipantBuiltinTopicData& info)> onDiscovery_;

//! A mutex for liveliness
std::mutex liveliness_mutex_;
Expand Down
1 change: 0 additions & 1 deletion test/blackbox/common/DDSBlackboxTestsAckPositive.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
#include <fastdds/dds/topic/TypeSupport.hpp>
#include <fastdds/rtps/transport/test_UDPv4TransportDescriptor.hpp>

#include <rtps/builtin/data/ParticipantProxyData.hpp>
#include "BlackboxTests.hpp"
#include "../api/dds-pim/CustomPayloadPool.hpp"
#include "../api/dds-pim/PubSubReader.hpp"
Expand Down
2 changes: 1 addition & 1 deletion test/blackbox/common/DDSBlackboxTestsBasic.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -532,7 +532,7 @@ TEST(DDSBasic, IgnoreParticipant)
void on_participant_discovery(
DomainParticipant* /*participant*/,
eprosima::fastdds::rtps::ParticipantDiscoveryStatus status,
const eprosima::fastdds::rtps::ParticipantBuiltinTopicData& info,
const eprosima::fastdds::dds::ParticipantBuiltinTopicData& info,
bool& should_be_ignored) override
{
std::cout << "Using custom listener" << std::endl;
Expand Down
4 changes: 2 additions & 2 deletions test/blackbox/common/DDSBlackboxTestsDiscovery.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -594,7 +594,7 @@ TEST(DDSDiscovery, ParticipantProxyPhysicalData)
void on_participant_discovery(
DomainParticipant* participant,
eprosima::fastdds::rtps::ParticipantDiscoveryStatus status,
const eprosima::fastdds::rtps::ParticipantBuiltinTopicData& info,
const eprosima::fastdds::dds::ParticipantBuiltinTopicData& info,
bool& should_be_ignored)
{
static_cast<void>(should_be_ignored);
Expand All @@ -613,7 +613,7 @@ TEST(DDSDiscovery, ParticipantProxyPhysicalData)
}
}

eprosima::fastdds::rtps::ParticipantBuiltinTopicData* remote_participant_info;
eprosima::fastdds::dds::ParticipantBuiltinTopicData* remote_participant_info;

private:

Expand Down
2 changes: 1 addition & 1 deletion test/blackbox/common/DDSBlackboxTestsMonitorService.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
#include <gtest/gtest.h>

// TODO(jlbueno): remove private header
#include <rtps/builtin/data/ParticipantProxyData.hpp>
#include <fastdds/dds/builtin/topic/ParticipantBuiltinTopicData.hpp>
#include <statistics/rtps/StatisticsBase.hpp>
#include "../types/statistics/monitorservice_typesPubSubTypes.hpp"
#include "BlackboxTests.hpp"
Expand Down
4 changes: 2 additions & 2 deletions test/blackbox/common/DDSBlackboxTestsPropertyQos.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@
// See the License for the specific language governing permissions and
// limitations under the License.

#include <fastdds/dds/builtin/topic/ParticipantBuiltinTopicData.hpp>
#include <fastdds/dds/domain/DomainParticipantFactory.hpp>
#include <fastdds/LibrarySettings.hpp>
#include <fastdds/rtps/common/Types.hpp>
#include <gtest/gtest.h>

#include <rtps/builtin/data/ParticipantProxyData.hpp>
#include "BlackboxTests.hpp"
#include "PubSubParticipant.hpp"

Expand Down Expand Up @@ -113,7 +113,7 @@ TEST_P(PropertyQos, send_property_qos)

PubSubParticipant<HelloWorldPubSubType> participant_2(0u, 0u, 0u, 0u);

participant_2.set_on_discovery_function([&](const rtps::ParticipantBuiltinTopicData& info) -> bool
participant_2.set_on_discovery_function([&](const eprosima::fastdds::dds::ParticipantBuiltinTopicData& info) -> bool
{
std::cout << "Received Property Qos: ";

Expand Down
Loading