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 = false, WriteParams &wparams = WriteParams::WRITE_PARAM_DEFAULT) 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 – allows to identify the change

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) override

This method notifies EDP and WLP of the existence of a new participant.

Parameters

pdata

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.