19.1.1.7.3. DataSharingQosPolicy
-
class DataSharingQosPolicy : public eprosima::fastdds::dds::Parameter_t, public eprosima::fastdds::dds::QosPolicy
Qos Policy to configure the data sharing
Note
Immutable Qos Policy
Public Functions
-
inline DataSharingQosPolicy()
Constructor.
-
virtual ~DataSharingQosPolicy() = default
Destructor.
-
inline DataSharingQosPolicy(const DataSharingQosPolicy &b)
Copy constructor.
- Parameters:
b – Another DataSharingQosPolicy instance
-
inline const DataSharingKind &kind() const
- Returns:
the current DataSharing configuration mode
-
inline const std::string &shm_directory() const
- Returns:
the current DataSharing shared memory directory
-
inline const std::vector<uint64_t> &domain_ids() const
Gets the set of DataSharing domain IDs.
Each domain ID is 64 bit long. However, user-defined domain IDs are only 16 bit long, while the rest of the 48 bits are used for the automatically generated domain ID (if any).
Automatic domain IDs use the 48 MSB and leave the 16 LSB as zero.
User defined domain IDs use the 16 LSB and leave the 48 MSB as zero.
- Returns:
the current DataSharing domain IDs
-
inline void set_max_domains(uint32_t size)
- Parameters:
size – the new maximum number of domain IDs
-
inline const uint32_t &max_domains() const
- Returns:
the current configured maximum number of domain IDs
-
inline void automatic()
Configures the DataSharing in automatic mode.
The default shared memory directory of the OS is used. A default domain ID is automatically computed.
-
inline void automatic(const std::vector<uint16_t> &domain_ids)
Configures the DataSharing in automatic mode.
The default shared memory directory of the OS is used.
- Parameters:
domain_ids – the user configured DataSharing domain IDs (16 bits).
-
inline void automatic(const std::string &directory)
Configures the DataSharing in automatic mode.
A default domain ID is automatically computed.
- Parameters:
directory – The shared memory directory to use.
-
inline void automatic(const std::string &directory, const std::vector<uint16_t> &domain_ids)
Configures the DataSharing in automatic mode.
- Parameters:
directory – The shared memory directory to use.
domain_ids – the user configured DataSharing domain IDs (16 bits).
-
inline void on(const std::string &directory)
Configures the DataSharing in active mode.
A default domain ID is automatically computed.
- Parameters:
directory – The shared memory directory to use. It is mandatory to provide a non-empty name or the creation of endpoints will fail.
-
inline void on(const std::string &directory, const std::vector<uint16_t> &domain_ids)
Configures the DataSharing in active mode.
- Parameters:
directory – The shared memory directory to use. It is mandatory to provide a non-empty name or the creation of endpoints will fail.
domain_ids – the user configured DataSharing domain IDs (16 bits).
-
inline void off()
Configures the DataSharing in disabled mode.
-
inline void add_domain_id(uint16_t id)
Adds a user-specific DataSharing domain ID.
- Parameters:
id – 16 bit identifier
-
inline rtps::ThreadSettings &data_sharing_listener_thread()
Getter for DataSharing listener thread ThreadSettings
- Returns:
rtps::ThreadSettings reference
-
inline const rtps::ThreadSettings &data_sharing_listener_thread() const
Getter for DataSharing listener thread ThreadSettings
- Returns:
rtps::ThreadSettings reference
-
inline void data_sharing_listener_thread(const rtps::ThreadSettings &value)
Setter for the DataSharing listener thread ThreadSettings
- Parameters:
value – New ThreadSettings to be set
-
inline DataSharingQosPolicy()