Fast DDS  Version 3.0.0
Fast DDS
Loading...
Searching...
No Matches
TopicQos.hpp
1// Copyright 2019 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_TOPIC_QOS__TOPICQOS_HPP
21#define FASTDDS_DDS_TOPIC_QOS__TOPICQOS_HPP
22
23#include <fastdds/dds/core/policy/QosPolicies.hpp>
24
25#include <fastdds/dds/log/Log.hpp>
26
27namespace eprosima {
28namespace fastdds {
29namespace dds {
30
40{
41public:
42
46 FASTDDS_EXPORTED_API TopicQos();
47
49 const TopicQos& b) const
50 {
51 return (this->topic_data_ == b.topic_data()) &&
52 (this->durability_ == b.durability()) &&
53 (this->durability_service_ == b.durability_service()) &&
54 (this->deadline_ == b.deadline()) &&
55 (this->latency_budget_ == b.latency_budget()) &&
56 (this->liveliness_ == b.liveliness()) &&
57 (this->reliability_ == b.reliability()) &&
58 (this->destination_order_ == b.destination_order()) &&
59 (this->history_ == b.history()) &&
60 (this->resource_limits_ == b.resource_limits()) &&
61 (this->transport_priority_ == b.transport_priority()) &&
62 (this->lifespan_ == b.lifespan()) &&
63 (this->ownership_ == b.ownership());
64 }
65
71 const TopicDataQosPolicy& topic_data() const
72 {
73 return topic_data_;
74 }
75
81 TopicDataQosPolicy& topic_data()
82 {
83 return topic_data_;
84 }
85
92 const TopicDataQosPolicy& value)
93 {
94 topic_data_ = value;
95 }
96
103 {
104 return durability_;
105 }
106
113 {
114 return durability_;
115 }
116
124 {
125 durability_ = durability;
126 }
127
134 {
135 return durability_service_;
136 }
137
144 {
145 return durability_service_;
146 }
147
155 {
156 durability_service_ = durability_service;
157 }
158
165 {
166 return deadline_;
167 }
168
175 {
176 return deadline_;
177 }
178
186 {
187 deadline_ = deadline;
188 }
189
196 {
197 return latency_budget_;
198 }
199
206 {
207 return latency_budget_;
208 }
209
217 {
218 latency_budget_ = latency_budget;
219 }
220
227 {
228 return liveliness_;
229 }
230
237 {
238 return liveliness_;
239 }
240
248 {
249 liveliness_ = liveliness;
250 }
251
258 {
259 return reliability_;
260 }
261
268 {
269 return reliability_;
270 }
271
279 {
280 reliability_ = reliability;
281 }
282
289 {
290 return destination_order_;
291 }
292
299 {
300 return destination_order_;
301 }
302
310 {
311 destination_order_ = destination_order;
312 }
313
320 {
321 return history_;
322 }
323
330 {
331 return history_;
332 }
333
341 {
342 history_ = history;
343 }
344
351 {
352 return resource_limits_;
353 }
354
361 {
362 return resource_limits_;
363 }
364
372 {
373 resource_limits_ = resource_limits;
374 }
375
382 {
383 return transport_priority_;
384 }
385
392 {
393 return transport_priority_;
394 }
395
403 {
404 transport_priority_ = transport_priority;
405 }
406
413 {
414 return lifespan_;
415 }
416
423 {
424 return lifespan_;
425 }
426
434 {
435 lifespan_ = lifespan;
436 }
437
444 {
445 return ownership_;
446 }
447
454 {
455 return ownership_;
456 }
457
465 {
466 ownership_ = ownership;
467 }
468
475 {
476 return representation_;
477 }
478
485 {
486 return representation_;
487 }
488
496 {
497 representation_ = representation;
498 }
499
500private:
501
503 TopicDataQosPolicy topic_data_;
504
506 DurabilityQosPolicy durability_;
507
509 DurabilityServiceQosPolicy durability_service_;
510
512 DeadlineQosPolicy deadline_;
513
515 LatencyBudgetQosPolicy latency_budget_;
516
518 LivelinessQosPolicy liveliness_;
519
521 ReliabilityQosPolicy reliability_;
522
524 DestinationOrderQosPolicy destination_order_;
525
527 HistoryQosPolicy history_;
528
530 ResourceLimitsQosPolicy resource_limits_;
531
533 TransportPriorityQosPolicy transport_priority_;
534
536 LifespanQosPolicy lifespan_;
537
539 OwnershipQosPolicy ownership_;
540
542 DataRepresentationQosPolicy representation_;
543};
544
545FASTDDS_EXPORTED_API extern const TopicQos TOPIC_QOS_DEFAULT;
546
547} // namespace dds
548} // namespace fastdds
549} // namespace eprosima
550
551#endif // FASTDDS_DDS_TOPIC_QOS__TOPICQOS_HPP
With multiple standard data Representations available, and vendor-specific extensions possible,...
Definition QosPolicies.hpp:2070
DataReader expects a new sample updating the value of each instance at least once every deadline peri...
Definition QosPolicies.hpp:361
Controls the criteria used to determine the logical order among changes made by Publisher entities to...
Definition QosPolicies.hpp:717
This policy expresses if the data should ‘outlive’ their writing time.
Definition QosPolicies.hpp:276
Specifies the configuration of the durability service.
Definition QosPolicies.hpp:1787
Specifies the behavior of the Service in the case where the value of a sample changes (one or more ti...
Definition QosPolicies.hpp:1649
Specifies the maximum acceptable delay from the time the data is written until the data is inserted i...
Definition QosPolicies.hpp:414
Specifies the maximum duration of validity of the data written by the DataWriter.
Definition QosPolicies.hpp:1875
Determines the mechanism and parameters used by the application to determine whether an Entity is “ac...
Definition QosPolicies.hpp:486
Specifies whether it is allowed for multiple DataWriters to write the same instance of the data and i...
Definition QosPolicies.hpp:650
Indicates the reliability of the endpoint.
Definition QosPolicies.hpp:568
Specifies the resources that the Service can consume in order to meet the requested QoS.
Definition QosPolicies.hpp:1701
Class TopicQos, containing all the possible Qos that can be set for a determined Topic.
Definition TopicQos.hpp:40
DurabilityQosPolicy & durability()
Getter for DurabilityQosPolicy.
Definition TopicQos.hpp:112
void deadline(const DeadlineQosPolicy &deadline)
Setter for DeadlineQosPolicy.
Definition TopicQos.hpp:184
const DeadlineQosPolicy & deadline() const
Getter for DeadlineQosPolicy.
Definition TopicQos.hpp:164
const ReliabilityQosPolicy & reliability() const
Getter for ReliabilityQosPolicy.
Definition TopicQos.hpp:257
const DataRepresentationQosPolicy & representation() const
Getter for DataRepresentationQosPolicy.
Definition TopicQos.hpp:474
const LifespanQosPolicy & lifespan() const
Getter for LifespanQosPolicy.
Definition TopicQos.hpp:412
const DurabilityServiceQosPolicy & durability_service() const
Getter for DurabilityServiceQosPolicy.
Definition TopicQos.hpp:133
const ResourceLimitsQosPolicy & resource_limits() const
Getter for ResourceLimitsQosPolicy.
Definition TopicQos.hpp:350
void transport_priority(const TransportPriorityQosPolicy &transport_priority)
Setter for TransportPriorityQosPolicy.
Definition TopicQos.hpp:401
LifespanQosPolicy & lifespan()
Getter for LifespanQosPolicy.
Definition TopicQos.hpp:422
void durability_service(const DurabilityServiceQosPolicy &durability_service)
Setter for DurabilityServiceQosPolicy.
Definition TopicQos.hpp:153
void latency_budget(const LatencyBudgetQosPolicy &latency_budget)
Setter for LatencyBudgetQosPolicy.
Definition TopicQos.hpp:215
const OwnershipQosPolicy & ownership() const
Getter for OwnershipQosPolicy.
Definition TopicQos.hpp:443
void history(const HistoryQosPolicy &history)
Setter for HistoryQosPolicy.
Definition TopicQos.hpp:339
const HistoryQosPolicy & history() const
Getter for HistoryQosPolicy.
Definition TopicQos.hpp:319
void ownership(const OwnershipQosPolicy &ownership)
Setter for OwnershipQosPolicy.
Definition TopicQos.hpp:463
const TopicDataQosPolicy & topic_data() const
Getter for TopicDataQosPolicy.
Definition TopicQos.hpp:71
DataRepresentationQosPolicy & representation()
Getter for DataRepresentationQosPolicy.
Definition TopicQos.hpp:484
TopicDataQosPolicy & topic_data()
Getter for TopicDataQosPolicy.
Definition TopicQos.hpp:81
const DestinationOrderQosPolicy & destination_order() const
Getter for DestinationOrderQosPolicy.
Definition TopicQos.hpp:288
TransportPriorityQosPolicy & transport_priority()
Getter for TransportPriorityQosPolicy.
Definition TopicQos.hpp:391
void topic_data(const TopicDataQosPolicy &value)
Setter for TopicDataQosPolicy.
Definition TopicQos.hpp:91
OwnershipQosPolicy & ownership()
Getter for OwnershipQosPolicy.
Definition TopicQos.hpp:453
const DurabilityQosPolicy & durability() const
Getter for DurabilityQosPolicy.
Definition TopicQos.hpp:102
void lifespan(const LifespanQosPolicy &lifespan)
Setter for LifespanQosPolicy.
Definition TopicQos.hpp:432
void destination_order(const DestinationOrderQosPolicy &destination_order)
Setter for DestinationOrderQosPolicy.
Definition TopicQos.hpp:308
FASTDDS_EXPORTED_API TopicQos()
Constructor.
DurabilityServiceQosPolicy & durability_service()
Getter for DurabilityServiceQosPolicy.
Definition TopicQos.hpp:143
void resource_limits(const ResourceLimitsQosPolicy &resource_limits)
Setter for ResourceLimitsQosPolicy.
Definition TopicQos.hpp:370
DeadlineQosPolicy & deadline()
Getter for DeadlineQosPolicy.
Definition TopicQos.hpp:174
DestinationOrderQosPolicy & destination_order()
Getter for DestinationOrderQosPolicy.
Definition TopicQos.hpp:298
void representation(const DataRepresentationQosPolicy &representation)
Setter for DataRepresentationQosPolicy.
Definition TopicQos.hpp:494
void liveliness(const LivelinessQosPolicy &liveliness)
Setter for LivelinessQosPolicy.
Definition TopicQos.hpp:246
const TransportPriorityQosPolicy & transport_priority() const
Getter for TransportPriorityQosPolicy.
Definition TopicQos.hpp:381
ResourceLimitsQosPolicy & resource_limits()
Getter for ResourceLimitsQosPolicy.
Definition TopicQos.hpp:360
void durability(const DurabilityQosPolicy &durability)
Setter for DurabilityQosPolicy.
Definition TopicQos.hpp:122
const LivelinessQosPolicy & liveliness() const
Getter for LivelinessQosPolicy.
Definition TopicQos.hpp:226
LivelinessQosPolicy & liveliness()
Getter for LivelinessQosPolicy.
Definition TopicQos.hpp:236
ReliabilityQosPolicy & reliability()
Getter for ReliabilityQosPolicy.
Definition TopicQos.hpp:267
LatencyBudgetQosPolicy & latency_budget()
Getter for LatencyBudgetQosPolicy.
Definition TopicQos.hpp:205
bool operator==(const TopicQos &b) const
Definition TopicQos.hpp:48
HistoryQosPolicy & history()
Getter for HistoryQosPolicy.
Definition TopicQos.hpp:329
const LatencyBudgetQosPolicy & latency_budget() const
Getter for LatencyBudgetQosPolicy.
Definition TopicQos.hpp:195
void reliability(const ReliabilityQosPolicy &reliability)
Setter for ReliabilityQosPolicy.
Definition TopicQos.hpp:277
This policy is a hint to the infrastructure as to how to set the priority of the underlying transport...
Definition QosPolicies.hpp:1968
Definition DomainParticipant.hpp:45
FASTDDS_EXPORTED_API const TopicQos TOPIC_QOS_DEFAULT
eProsima namespace.