Class LocatorSelectorSender

Inheritance Relationships

Base Type

Class Documentation

class LocatorSelectorSender : public eprosima::fastrtps::rtps::RTPSMessageSenderInterface

Class used by writers to inform a RTPSMessageGroup object which remote participants will be addressees of next RTPS submessages.

Public Functions

inline LocatorSelectorSender(RTPSWriter &writer, ResourceLimitedContainerConfig matched_readers_allocation)
inline virtual bool destinations_have_changed() const override

Check if the destinations managed by this sender interface have changed.

Returns:

true if destinations have changed, false otherwise.

inline virtual GuidPrefix_t destination_guid_prefix() const override

Get a GUID prefix representing all destinations.

Returns:

If only one remote participant is an addressee, return its GUIDPrefix_t. c_GuidPrefix_Unknown otherwise.

inline virtual const std::vector<GuidPrefix_t> &remote_participants() const override

Get the GUID prefix of all the destination participants.

Returns:

a const reference to a vector with the GUID prefix of all destination participants.

inline virtual const std::vector<GUID_t> &remote_guids() const override

Get the GUID of all destinations.

Returns:

a const reference to a vector with the GUID of all destinations.

virtual bool send(CDRMessage_t *message, std::chrono::steady_clock::time_point max_blocking_time_point) const override

Send a message through this interface.

Parameters:
  • message – Pointer to the buffer with the message already serialized.

  • max_blocking_time_point – Future timepoint where blocking send should end.

inline virtual void lock() override

Lock the object.

This kind of object needs to be locked because could be used outside the writer’s mutex.

inline virtual void unlock() override

Unlock the object.

template<class Clock, class Duration>
inline bool try_lock_until(const std::chrono::time_point<Clock, Duration> &abs_time)

Try to lock the object.

This kind of object needs to be locked because could be used outside the writer’s mutex.

Public Members

fastrtps::rtps::LocatorSelector locator_selector
ResourceLimitedVector<GUID_t> all_remote_readers
ResourceLimitedVector<GuidPrefix_t> all_remote_participants