18.2.8.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 registerWriter(RTPSWriter *Writer, const TopicAttributes &topicAtt, const WriterQos &wqos)

Register a RTPSWriter in the builtin Protocols.

Parameters
  • Writer – Pointer to the RTPSWriter.

  • topicAtt – Topic Attributes where you want to register it.

  • wqos – WriterQos.

Returns

True if correctly registered.

bool registerReader(RTPSReader *Reader, const TopicAttributes &topicAtt, const ReaderQos &rqos, const fastdds::rtps::ContentFilterProperty *content_filter = nullptr)

Register a RTPSReader in the builtin Protocols.

Parameters
  • Reader – Pointer to the RTPSReader.

  • topicAtt – Topic Attributes where you want to register it.

  • rqos – ReaderQos.

  • 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 updateWriter(RTPSWriter *Writer, const TopicAttributes &topicAtt, const WriterQos &wqos)

Update writer QOS

Parameters
  • Writer – to update

  • topicAtt – Topic Attributes where you want to register it.

  • wqos – New writer QoS

Returns

true on success

bool updateReader(RTPSReader *Reader, const TopicAttributes &topicAtt, const ReaderQos &rqos, const fastdds::rtps::ContentFilterProperty *content_filter = nullptr)

Update reader QOS

Parameters
  • Reader – Pointer to the RTPSReader to update

  • topicAtt – Topic Attributes where you want to register it.

  • rqos – New reader QoS

  • 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 &getRTPSParticipantAttributes() const

Get a copy of the actual state of the RTPSParticipantParameters

Returns

RTPSParticipantAttributes copy of the params.

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.

fastdds::dds::builtin::TypeLookupManager *typelookup_manager() const

Retrieves the built-in typelookup service manager.

Returns

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<fastdds::rtps::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 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