Class RTPSMessageSenderInterface

Inheritance Relationships

Derived Types

Class Documentation

class RTPSMessageSenderInterface

An interface used in RTPSMessageGroup to handle destinations management and message sending.

Subclassed by eprosima::fastrtps::rtps::LocatorSelectorSender, eprosima::fastrtps::rtps::ReaderLocator

Public Functions

virtual ~RTPSMessageSenderInterface() = default
virtual bool destinations_have_changed() const = 0

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

Returns:

true if destinations have changed, false otherwise.

virtual GuidPrefix_t destination_guid_prefix() const = 0

Get a GUID prefix representing all destinations.

Returns:

When all the destinations share the same prefix (i.e. belong to the same participant) that prefix is returned. When there are no destinations, or they belong to different participants, c_GuidPrefix_Unknown is returned.

virtual const std::vector<GuidPrefix_t> &remote_participants() const = 0

Get the GUID prefix of all the destination participants.

Returns:

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

virtual const std::vector<GUID_t> &remote_guids() const = 0

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 = 0

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.

virtual void lock() = 0

Lock the object.

virtual void unlock() = 0

Lock the object.