Class PDPSimple

Inheritance Relationships

Base Type

  • public eprosima::fastrtps::rtps::PDP (Class PDP)

Class Documentation

class PDPSimple : public eprosima::fastrtps::rtps::PDP

Class PDPSimple that implements the SimpleRTPSParticipantDiscoveryProtocol as defined in the RTPS specification.

Public Functions

PDPSimple(BuiltinProtocols *builtin, const RTPSParticipantAllocationAttributes &allocation)

Constructor

Parameters:
  • builtin – Pointer to the BuiltinProcols object.

  • allocationParticipant allocation parameters.

virtual ~PDPSimple()
virtual bool init(RTPSParticipantImpl *part) override

Initialize the PDP.

Parameters:

part – Pointer to the RTPSParticipant.

Returns:

True on success

virtual ParticipantProxyData *createParticipantProxyData(const ParticipantProxyData &p, const GUID_t &writer_guid) override

Creates an initializes a new participant proxy from a DATA(p) raw info

Parameters:
  • pParticipantProxyData from DATA msg deserialization

  • writer_guid – GUID of originating writer

Returns:

new ParticipantProxyData * or nullptr on failure

virtual bool updateInfoMatchesEDP() override

Some PDP classes require EDP matching with update PDP DATAs like EDPStatic

Returns:

true if EDP endpoinst must be match

virtual void announceParticipantState(bool new_change, bool dispose, WriteParams &wparams) override

Force the sending of our local DPD to all remote RTPSParticipants and multicast Locators.

Parameters:
  • new_change – If true a new change (with new seqNum) is created and sent; if false the last change is re-sent

  • dispose – Sets change kind to NOT_ALIVE_DISPOSED_UNREGISTERED

  • wparams[inout] allows to identify the change

virtual void announceParticipantState(bool new_change, bool dispose = false) override

announceParticipantState method without optional output parameter wparams .

virtual void assignRemoteEndpoints(ParticipantProxyData *pdata) override

This method assigns remote endpoints to the builtin endpoints defined in this protocol. It also calls the corresponding methods in EDP and WLP.

Parameters:

pdata – Pointer to the ParticipantProxyData object.

virtual void removeRemoteEndpoints(ParticipantProxyData *pdata) override

Remove remote endpoints from the participant discovery protocol

Parameters:

pdata – Pointer to the ParticipantProxyData to remove

virtual void notifyAboveRemoteEndpoints(const ParticipantProxyData &pdata, bool notify_secure_endpoints) override

Override to match additional endpoints to PDP. Like EDP or WLP.

Parameters:
  • pdata – Pointer to the ParticipantProxyData object.

  • notify_secure_endpoints – Whether to try notifying secure endpoints.

bool newRemoteEndpointStaticallyDiscovered(const GUID_t &pguid, int16_t userDefinedId, EndpointKind_t kind)

Activate a new Remote Endpoint that has been statically discovered.

Parameters:
  • pguidGUID_t of the participant.

  • userDefinedId – User Defined ID.

  • kind – Kind of endpoint.

virtual void update_builtin_locators() override

Called after creating the builtin endpoints to update the metatraffic unicast locators of BuiltinProtocols