19#ifndef FASTDDS_RTPS_COMMON__LOCATORSELECTORENTRY_HPP
20#define FASTDDS_RTPS_COMMON__LOCATORSELECTORENTRY_HPP
22#ifndef DOXYGEN_SHOULD_SKIP_THIS_PUBLIC
24#include <fastdds/rtps/common/Guid.hpp>
25#include <fastdds/rtps/common/Locator.hpp>
26#include <fastdds/rtps/common/LocatorList.hpp>
27#include <fastdds/utils/collections/ResourceLimitedVector.hpp>
52 size_t max_unicast_locators,
53 size_t max_multicast_locators)
72 size_t max_unicast_locators,
73 size_t max_multicast_locators)
77 ,
state(max_unicast_locators, max_multicast_locators)
110 for (
const Locator_t& locator : unicast_locators)
113 entry.
unicast.push_back(locator);
116 for (
const Locator_t& locator : multicast_locators)
Resource limited wrapper of std::vector.
Definition ResourceLimitedVector.hpp:59
pointer push_back(const value_type &val)
Add element at the end.
Definition ResourceLimitedVector.hpp:174
void clear()
Definition ResourceLimitedVector.hpp:494
Class Locator_t, uniquely identifies a communication channel for a particular transport.
Definition Locator.hpp:71
Class LocatorList, a Locator vector that doesn't allow duplicates.
Definition LocatorList.hpp:97
FASTDDS_EXPORTED_API size_t size() const
Return the number of locators.
Definition LocatorList.hpp:222
const GUID_t c_Guid_Unknown
Definition Guid.hpp:213
Specifies the configuration of a resource limited collection.
Definition ResourceLimitedContainerConfig.hpp:36
Structure GUID_t, entity identifier, unique in DDS-RTPS Domain.
Definition Guid.hpp:40
Holds the selection state of the locators held by a LocatorSelectorEntry.
Definition LocatorSelectorEntry.hpp:44
ResourceLimitedVector< size_t > unicast
Unicast locators selection state.
Definition LocatorSelectorEntry.hpp:60
ResourceLimitedVector< size_t > multicast
Multicast locators selection state.
Definition LocatorSelectorEntry.hpp:62
EntryState(size_t max_unicast_locators, size_t max_multicast_locators)
Construct an EntryState object.
Definition LocatorSelectorEntry.hpp:51
An entry for the LocatorSelector.
Definition LocatorSelectorEntry.hpp:39
ResourceLimitedVector< Locator_t > unicast
List of unicast locators to send data to the remote entity.
Definition LocatorSelectorEntry.hpp:136
void enable(bool should_enable)
Set the enabled value.
Definition LocatorSelectorEntry.hpp:88
static LocatorSelectorEntry create_fully_selected_entry(const LocatorList_t &unicast_locators, const LocatorList_t &multicast_locators)
Definition LocatorSelectorEntry.hpp:103
LocatorSelectorEntry(size_t max_unicast_locators, size_t max_multicast_locators)
Construct a LocatorSelectorEntry.
Definition LocatorSelectorEntry.hpp:71
bool enabled
Indicates whether this entry should be taken into consideration.
Definition LocatorSelectorEntry.hpp:142
static LocatorSelectorEntry create_fully_selected_entry(const LocatorList_t &unicast_locators)
Definition LocatorSelectorEntry.hpp:125
ResourceLimitedVector< Locator_t > multicast
List of multicast locators to send data to the remote entity.
Definition LocatorSelectorEntry.hpp:138
GUID_t remote_guid
GUID of the remote entity.
Definition LocatorSelectorEntry.hpp:134
bool transport_should_process
A temporary value for each transport to help optimizing some use cases.
Definition LocatorSelectorEntry.hpp:144
void reset()
Reset the selections.
Definition LocatorSelectorEntry.hpp:97
EntryState state
State of the entry.
Definition LocatorSelectorEntry.hpp:140