Fast DDS  Version 3.6.1.0
Fast DDS
WriterQos.hpp
1 // Copyright 2016 Proyectos y Sistemas de Mantenimiento SL (eProsima).
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
20 #ifndef FASTDDS_DDS_PUBLISHER_QOS__WRITERQOS_HPP
21 #define FASTDDS_DDS_PUBLISHER_QOS__WRITERQOS_HPP
22 
23 #include <fastdds/dds/core/policy/QosPolicies.hpp>
24 
25 namespace eprosima {
26 namespace fastdds {
27 namespace dds {
28 
36 FASTDDS_TODO_BEFORE(4, 0, "Remove this class in favor of PublicationBuiltinTopicData");
37 class WriterQos
38 {
39 public:
40 
41  FASTDDS_EXPORTED_API WriterQos();
42  FASTDDS_EXPORTED_API virtual ~WriterQos();
43 
45  const WriterQos& b) const
46  {
47  return (this->m_durability == b.m_durability) &&
49  (this->m_deadline == b.m_deadline) &&
50  (this->m_latencyBudget == b.m_latencyBudget) &&
51  (this->m_liveliness == b.m_liveliness) &&
52  (this->m_reliability == b.m_reliability) &&
53  (this->m_lifespan == b.m_lifespan) &&
54  (this->m_userData == b.m_userData) &&
55  (this->m_timeBasedFilter == b.m_timeBasedFilter) &&
56  (this->m_ownership == b.m_ownership) &&
59  (this->m_presentation == b.m_presentation) &&
60  (this->m_partition == b.m_partition) &&
61  (this->m_topicData == b.m_topicData) &&
62  (this->m_groupData == b.m_groupData) &&
63  (this->m_publishMode == b.m_publishMode) &&
65  (this->representation == b.representation) &&
66  (this->data_sharing == b.data_sharing) &&
68  }
69 
72 
75 
78 
81 
84 
87 
90 
92  UserDataQosPolicy m_userData;
93 
96 
99 
102 
105 
108 
111 
113  TopicDataQosPolicy m_topicData;
114 
116  GroupDataQosPolicy m_groupData;
117 
120 
123 
126 
129 
132 
135 
143  FASTDDS_EXPORTED_API void setQos(
144  const WriterQos& qos,
145  bool first_time);
146 
153  FASTDDS_EXPORTED_API bool checkQos() const;
154 
158  FASTDDS_EXPORTED_API bool canQosBeUpdated(
159  const WriterQos& qos) const;
160 
164  void clear();
165 };
166 
167 //FASTDDS_EXPORTED_API extern const WriterQos DATAWRITER_QOS_DEFAULT;
168 
169 } //namespace dds
170 } //namespace fastdds
171 } //namespace eprosima
172 
173 #endif // FASTDDS_DDS_PUBLISHER_QOS__WRITERQOS_HPP
With multiple standard data Representations available, and vendor-specific extensions possible,...
Definition: QosPolicies.hpp:2070
Qos Policy to configure the data sharing.
Definition: QosPolicies.hpp:2952
DataReader expects a new sample updating the value of each instance at least once every deadline peri...
Definition: QosPolicies.hpp:363
Controls the criteria used to determine the logical order among changes made by Publisher entities to...
Definition: QosPolicies.hpp:719
Class DisablePositiveACKsQosPolicy to disable sending of positive ACKs.
Definition: QosPolicies.hpp:2222
This policy expresses if the data should ‘outlive’ their writing time.
Definition: QosPolicies.hpp:278
Specifies the configuration of the durability service.
Definition: QosPolicies.hpp:1789
Specifies the maximum acceptable delay from the time the data is written until the data is inserted i...
Definition: QosPolicies.hpp:416
Specifies the maximum duration of validity of the data written by the DataWriter.
Definition: QosPolicies.hpp:1877
Determines the mechanism and parameters used by the application to determine whether an Entity is “ac...
Definition: QosPolicies.hpp:488
Specifies whether it is allowed for multiple DataWriters to write the same instance of the data and i...
Definition: QosPolicies.hpp:652
Specifies the value of the “strength” used to arbitrate among multiple DataWriter objects that attemp...
Definition: QosPolicies.hpp:1923
Set of strings that introduces a logical partition among the topics visible by the Publisher and Subs...
Definition: QosPolicies.hpp:1286
Specifies how the samples representing changes to data instances are presented to the subscribing app...
Definition: QosPolicies.hpp:1156
Class PublishModeQosPolicy, defines the publication mode for a specific writer.
Definition: QosPolicies.hpp:2018
Indicates the reliability of the endpoint.
Definition: QosPolicies.hpp:570
Filter that allows a DataReader to specify that it is interested only in (potentially) a subset of th...
Definition: QosPolicies.hpp:1082
This policy is a hint to the infrastructure as to how to set the priority of the underlying transport...
Definition: QosPolicies.hpp:1968
Definition: WriterQos.hpp:38
TransportPriorityQosPolicy transport_priority
Transport priority Qos, implemented in the library.
Definition: WriterQos.hpp:119
LifespanQosPolicy m_lifespan
Lifespan Qos, NOT implemented in the library.
Definition: WriterQos.hpp:89
virtual FASTDDS_EXPORTED_API ~WriterQos()
UserDataQosPolicy m_userData
UserData Qos, NOT implemented in the library.
Definition: WriterQos.hpp:92
DataRepresentationQosPolicy representation
Data Representation Qos, implemented in the library.
Definition: WriterQos.hpp:125
DisablePositiveACKsQosPolicy m_disablePositiveACKs
Disable positive acks QoS, implemented in the library.
Definition: WriterQos.hpp:128
FASTDDS_EXPORTED_API WriterQos()
PresentationQosPolicy m_presentation
Presentation Qos, NOT implemented in the library.
Definition: WriterQos.hpp:107
PublishModeQosPolicy m_publishMode
Publication Mode Qos, implemented in the library.
Definition: WriterQos.hpp:122
DestinationOrderQosPolicy m_destinationOrder
Destination Order Qos, NOT implemented in the library.
Definition: WriterQos.hpp:104
OwnershipQosPolicy m_ownership
Ownership Qos, implemented in the library.
Definition: WriterQos.hpp:98
DurabilityQosPolicy m_durability
Durability Qos, implemented in the library.
Definition: WriterQos.hpp:71
DurabilityServiceQosPolicy m_durabilityService
Durability Service Qos, NOT implemented in the library.
Definition: WriterQos.hpp:74
bool disable_heartbeat_piggyback
Disable heartbeat piggyback mechanism.
Definition: WriterQos.hpp:134
bool operator==(const WriterQos &b) const
Definition: WriterQos.hpp:44
OwnershipStrengthQosPolicy m_ownershipStrength
Owenership Strength Qos, implemented in the library.
Definition: WriterQos.hpp:101
FASTDDS_EXPORTED_API bool canQosBeUpdated(const WriterQos &qos) const
PartitionQosPolicy m_partition
Partition Qos, implemented in the library.
Definition: WriterQos.hpp:110
DataSharingQosPolicy data_sharing
Information for data sharing compatibility check.
Definition: WriterQos.hpp:131
FASTDDS_EXPORTED_API bool checkQos() const
Check if the Qos values are compatible between each other.
LatencyBudgetQosPolicy m_latencyBudget
Latency Budget Qos, NOT implemented in the library.
Definition: WriterQos.hpp:80
DeadlineQosPolicy m_deadline
Deadline Qos, implemented in the library.
Definition: WriterQos.hpp:77
LivelinessQosPolicy m_liveliness
Liveliness Qos, implemented in the library.
Definition: WriterQos.hpp:83
TopicDataQosPolicy m_topicData
Topic Data Qos, NOT implemented in the library.
Definition: WriterQos.hpp:113
GroupDataQosPolicy m_groupData
Group Data Qos, NOT implemented in the library.
Definition: WriterQos.hpp:116
FASTDDS_EXPORTED_API void setQos(const WriterQos &qos, bool first_time)
Set Qos from another class.
ReliabilityQosPolicy m_reliability
Reliability Qos, implemented in the library.
Definition: WriterQos.hpp:86
TimeBasedFilterQosPolicy m_timeBasedFilter
Time Based Filter Qos, NOT implemented in the library.
Definition: WriterQos.hpp:95
Definition: DomainParticipant.hpp:46
FASTDDS_TODO_BEFORE(4, 0, "Remove 'hasChanged' and 'send_always_' as they were replaced by 'should_be_sent'.")
Class QosPolicy, base for all QoS policies defined for Writers and Readers.