@@ -179,7 +179,7 @@ ParticipantProxyData* PDP::add_participant_proxy_data(
179179 {
180180 // Pool is empty but limit has not been reached, so we create a new entry.
181181 ++participant_proxies_number_;
182- ret_val = new ParticipantProxyData (mp_RTPSParticipant->copy_attributes ().allocation );
182+ ret_val = new ParticipantProxyData (mp_RTPSParticipant->get_const_attributes ().allocation );
183183 if (participant_guid != mp_RTPSParticipant->getGuid ())
184184 {
185185 ret_val->lease_duration_event = new TimedEvent (mp_RTPSParticipant->getEventResource (),
@@ -487,8 +487,7 @@ bool PDP::initPDP(
487487{
488488 EPROSIMA_LOG_INFO (RTPS_PDP , " Beginning" );
489489 mp_RTPSParticipant = part;
490- m_discovery = mp_RTPSParticipant->copy_attributes ().builtin ;
491- initial_announcements_ = m_discovery.discovery_config .initial_announcements ;
490+ initial_announcements_ = mp_RTPSParticipant->get_const_attributes ().builtin .discovery_config .initial_announcements ;
492491 // CREATE ENDPOINTS
493492 if (!createPDPEndpoints ())
494493 {
@@ -967,7 +966,7 @@ ReaderProxyData* PDP::addReaderProxyData(
967966 // Pool is empty but limit has not been reached, so we create a new entry.
968967 ++reader_proxies_number_;
969968
970- auto allocations = mp_RTPSParticipant->copy_attributes ().allocation ;
969+ const auto & allocations = mp_RTPSParticipant->get_const_attributes ().allocation ;
971970
972971 ret_val = new ReaderProxyData (
973972 allocations.locators .max_unicast_locators ,
@@ -1055,7 +1054,7 @@ WriterProxyData* PDP::addWriterProxyData(
10551054 // Pool is empty but limit has not been reached, so we create a new entry.
10561055 ++writer_proxies_number_;
10571056
1058- auto allocations = mp_RTPSParticipant->copy_attributes ().allocation ;
1057+ const auto & allocations = mp_RTPSParticipant->get_const_attributes ().allocation ;
10591058
10601059 ret_val = new WriterProxyData (
10611060 allocations.locators .max_unicast_locators ,
@@ -1518,7 +1517,7 @@ void PDP::resend_ininitial_announcements()
15181517void PDP::set_external_participant_properties_ (
15191518 ParticipantProxyData* participant_data)
15201519{
1521- auto part_attributes = mp_RTPSParticipant->copy_attributes ();
1520+ const RTPSParticipantAttributes& part_attributes = mp_RTPSParticipant->get_const_attributes ();
15221521
15231522 // For each property add it if it should be sent (it is propagated)
15241523 for (auto const & property : part_attributes.properties .properties ())
@@ -1588,8 +1587,6 @@ static void set_builtin_endpoint_locators(
15881587 const PDP * pdp,
15891588 const BuiltinProtocols* builtin)
15901589{
1591- RTPSParticipantAttributes pattr = pdp->getRTPSParticipant ()->copy_attributes ();
1592-
15931590 auto part_data = pdp->getLocalParticipantProxyData ();
15941591 if (nullptr == part_data)
15951592 {
@@ -1615,14 +1612,14 @@ static void set_builtin_endpoint_locators(
16151612
16161613 // External locators are always taken from the same place
16171614 endpoint.external_unicast_locators = pdp->builtin_attributes ().metatraffic_external_unicast_locators ;
1618- endpoint.ignore_non_matching_locators = pattr .ignore_non_matching_locators ;
1615+ endpoint.ignore_non_matching_locators = pdp-> getRTPSParticipant ()-> get_const_attributes () .ignore_non_matching_locators ;
16191616}
16201617
16211618ReaderAttributes PDP::create_builtin_reader_attributes ()
16221619{
16231620 ReaderAttributes attributes;
16241621
1625- RTPSParticipantAttributes pattr = getRTPSParticipant ()->copy_attributes ();
1622+ const RTPSParticipantAttributes& pattr = getRTPSParticipant ()->get_const_attributes ();
16261623 set_builtin_matched_allocation (attributes.matched_writers_allocation , pattr);
16271624
16281625 // Builtin endpoints are always reliable, transient local, keyed topics
@@ -1646,7 +1643,7 @@ WriterAttributes PDP::create_builtin_writer_attributes()
16461643{
16471644 WriterAttributes attributes;
16481645
1649- RTPSParticipantAttributes pattr = getRTPSParticipant ()->copy_attributes ();
1646+ const RTPSParticipantAttributes& pattr = getRTPSParticipant ()->get_const_attributes ();
16501647 set_builtin_matched_allocation (attributes.matched_readers_allocation , pattr);
16511648
16521649 // Builtin endpoints are always reliable, transient local, keyed topics
0 commit comments