19.2.7.2. RTPSParticipant

class RTPSParticipant

Class RTPSParticipant, contains the public API for a RTPSParticipant.

Public Functions

const GUID_t &getGuid() const

Get the GUID_t of the RTPSParticipant.

void announceRTPSParticipantState()

Force the announcement of the RTPSParticipant state.

void stopRTPSParticipantAnnouncement()

Stop the RTPSParticipant announcement period. //TODO remove this method because is only for testing.

void resetRTPSParticipantAnnouncement()

Reset the RTPSParticipant announcement period. //TODO remove this method because is only for testing.

bool newRemoteWriterDiscovered(const GUID_t &pguid, int16_t userDefinedId)

Indicate the Participant that you have discovered a new Remote Writer. This method can be used by the user to implements its own Static Endpoint Discovery Protocol

Parameters:
  • pguidGUID_t of the discovered Writer.

  • userDefinedId – ID of the discovered Writer.

Returns:

True if correctly added.

bool newRemoteReaderDiscovered(const GUID_t &pguid, int16_t userDefinedId)

Indicate the Participant that you have discovered a new Remote Reader. This method can be used by the user to implements its own Static Endpoint Discovery Protocol

Parameters:
  • pguidGUID_t of the discovered Reader.

  • userDefinedId – ID of the discovered Reader.

Returns:

True if correctly added.

uint32_t getRTPSParticipantID() const

Get the Participant ID.

Returns:

Participant ID.

bool register_writer(RTPSWriter *rtps_writer, const TopicDescription &topic, const fastdds::dds::WriterQos &qos)

Register a Writer in the BuiltinProtocols.

Parameters:
  • rtps_writer – Pointer to the RTPSWriter.

  • topic – Information regarding the topic where the writer is registering.

  • qos – Qos policies of the writer.

Returns:

True if correctly registered.

bool register_reader(RTPSReader *rtps_reader, const TopicDescription &topic, const fastdds::dds::ReaderQos &qos, const ContentFilterProperty *content_filter = nullptr)

Register a Reader in the BuiltinProtocols.

Parameters:
  • rtps_reader – Pointer to the RTPSReader.

  • topic – Information regarding the topic where the reader is registering.

  • qos – Qos policies of the reader.

  • content_filter – Optional content filtering information.

Returns:

True if correctly registered.

void update_attributes(const RTPSParticipantAttributes &patt)

Update participant attributes.

Parameters:

patt – New participant attributes.

bool update_writer(RTPSWriter *rtps_writer, const fastdds::dds::WriterQos &wqos)

Update local writer QoS

Parameters:
  • rtps_writer – Writer to update.

  • wqos – New QoS for the writer.

Returns:

True on success

bool update_reader(RTPSReader *rtps_reader, const fastdds::dds::ReaderQos &rqos, const ContentFilterProperty *content_filter = nullptr)

Update local reader QoS

Parameters:
  • rtps_reader – Reader to update.

  • rqos – New QoS for the reader.

  • content_filter – Optional content filtering information.

Returns:

True on success

std::vector<std::string> getParticipantNames() const

Returns a list with the participant names.

Returns:

list of participant names.

const RTPSParticipantAttributes &get_attributes() const

Get a reference of the current state of the RTPSParticipantParameters.

Returns:

RTPSParticipantAttributes reference.

uint32_t getMaxMessageSize() const

Retrieves the maximum message size.

uint32_t getMaxDataSize() const

Retrieves the maximum data size.

WLP *wlp() const

A method to retrieve the built-in writer liveliness protocol.

Returns:

Writer liveliness protocol

bool get_new_entity_id(EntityId_t &entityId)

Fills a new entityId if set to unknown, or checks if a entity already exists with that entityId in other case.

Parameters:

entityId – to check of fill. If filled, EntityKind will be “vendor-specific” (0x01)

Returns:

True if filled or the entityId is available.

void set_check_type_function(std::function<bool(const std::string&)> &&check_type)

Allows setting a function to check if a type is already known by the top level API participant.

void set_listener(RTPSParticipantListener *listener)

Modifies the participant listener.

Parameters:

listener

uint32_t get_domain_id() const

Retrieves the DomainId.

void enable()

This operation enables the RTPSParticipantImpl.

bool ignore_participant(const GuidPrefix_t &participant_guid)

Ignore all messages coming from the RTPSParticipant.

Parameters:

participant_guid[in] RTPSParticipant GUID to be ignored

Returns:

True if correctly included into the ignore collection. False otherwise.

bool ignore_writer(const GUID_t &writer_guid)

Ignore all messages coming from the RTPSWriter.

Parameters:

writer_guid[in] RTPSWriter GUID to be ignored

Returns:

True if correctly included into the ignore collection. False otherwise.

bool ignore_reader(const GUID_t &reader_guid)

Ignore all messages coming from the RTPSReader.

Parameters:

reader_guid[in] RTPSReader GUID to be ignored

Returns:

True if correctly included into the ignore collection. False otherwise.

std::vector<TransportNetmaskFilterInfo> get_netmask_filter_info() const

Returns registered transports’ netmask filter information (transport’s netmask filter kind and allowlist).

Returns:

A vector with all registered transports’ netmask filter information.

bool get_publication_info(fastdds::rtps::PublicationBuiltinTopicData &data, const GUID_t &writer_guid) const

Fills the provided publication discovery data with the information of the writer identified by writer_guid.

Parameters:
  • data[out] publication discovery data to fill.

  • writer_guid[in] GUID of the writer to get the information from.

Returns:

True if the writer was found and the data was filled.

bool get_subscription_info(fastdds::rtps::SubscriptionBuiltinTopicData &data, const GUID_t &reader_guid) const

Fills the provided subscription discovery data with the information of the reader identified by reader_guid.

Parameters:
  • data[out] subscription discovery data to fill.

  • reader_guid[in] GUID of the reader to get the information from.

Returns:

True if the reader was found and the data was filled.

bool is_security_enabled_for_writer(const WriterAttributes &writer_attributes)

Checks whether the writer has security attributes enabled.

Parameters:

writer_attributes – Attributes of the writer as given to the RTPSParticipantImpl::create_writer

bool is_security_enabled_for_reader(const ReaderAttributes &reader_attributes)

Checks whether the reader has security attributes enabled.

Parameters:

reader_attributes – Attributes of the reader as given to the RTPSParticipantImpl::create_reader