18.2.3.11. LocatorSelectorEntry

struct LocatorSelectorEntry

An entry for the LocatorSelector.

This class holds the locators of a remote endpoint along with data required for the locator selection algorithm. Can be easily integrated inside other classes, such as ReaderProxyData and WriterProxyData.

Public Functions

inline LocatorSelectorEntry(size_t max_unicast_locators, size_t max_multicast_locators)

Construct a LocatorSelectorEntry.

Parameters
  • max_unicast_locators – Maximum number of unicast locators to hold.

  • max_multicast_locators – Maximum number of multicast locators to hold.

inline void enable(bool should_enable)

Set the enabled value.

Parameters

should_enable – Whether this entry should be enabled.

inline void reset()

Reset the selections.

Public Members

GUID_t remote_guid

GUID of the remote entity.

ResourceLimitedVector<Locator_t> unicast

List of unicast locators to send data to the remote entity.

ResourceLimitedVector<Locator_t> multicast

List of multicast locators to send data to the remote entity.

EntryState state

State of the entry.

bool enabled

Indicates whether this entry should be taken into consideration.

bool transport_should_process

A temporary value for each transport to help optimizing some use cases.

struct EntryState

Holds the selection state of the locators held by a LocatorSelectorEntry

Public Functions

inline EntryState(size_t max_unicast_locators, size_t max_multicast_locators)

Construct an EntryState object.

Parameters
  • max_unicast_locators – Maximum number of unicast locators to held by parent LocatorSelectorEntry.

  • max_multicast_locators – Maximum number of multicast locators to held by parent LocatorSelectorEntry.

Public Members

ResourceLimitedVector<size_t> unicast

Unicast locators selection state.

ResourceLimitedVector<size_t> multicast

Multicast locators selection state.