DataReaderQos.hpp 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819
  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. /**
  15. * @file DataReaderQos.hpp
  16. */
  17. #ifndef _FASTDDS_DATAREADERQOS_HPP
  18. #define _FASTDDS_DATAREADERQOS_HPP
  19. #include <fastdds/dds/core/policy/QosPolicies.hpp>
  20. #include <fastdds/dds/subscriber/qos/ReaderQos.hpp>
  21. #include <fastdds/dds/subscriber/qos/SubscriberQos.hpp>
  22. #include <fastdds/dds/core/policy/ReaderDataLifecycleQosPolicy.hpp>
  23. #include <fastdds/rtps/attributes/ReaderAttributes.h>
  24. #include <fastrtps/attributes/TopicAttributes.h>
  25. namespace eprosima {
  26. namespace fastdds {
  27. namespace dds {
  28. using TopicAttributesQos = fastrtps::TopicAttributes;
  29. //! Qos Policy to configure the DisablePositiveACKsQos and the reader attributes
  30. class RTPSReliableReaderQos
  31. {
  32. public:
  33. /**
  34. * @brief Constructor
  35. */
  36. RTPS_DllAPI RTPSReliableReaderQos()
  37. {
  38. }
  39. /**
  40. * @brief Destructor
  41. */
  42. virtual RTPS_DllAPI ~RTPSReliableReaderQos() = default;
  43. bool operator ==(
  44. const RTPSReliableReaderQos& b) const
  45. {
  46. return (this->times == b.times) &&
  47. (this->disable_positive_ACKs == b.disable_positive_ACKs);
  48. }
  49. inline void clear()
  50. {
  51. RTPSReliableReaderQos reset = RTPSReliableReaderQos();
  52. std::swap(*this, reset);
  53. }
  54. /*!
  55. * @brief Times associated with the Reliable Readers events.
  56. */
  57. fastrtps::rtps::ReaderTimes times;
  58. /*!
  59. * @brief Control the sending of positive ACKs
  60. */
  61. DisablePositiveACKsQosPolicy disable_positive_ACKs;
  62. };
  63. //! Qos Policy to configure the limit of the reader resources
  64. class ReaderResourceLimitsQos
  65. {
  66. public:
  67. /**
  68. * @brief Constructor
  69. */
  70. RTPS_DllAPI ReaderResourceLimitsQos()
  71. {
  72. }
  73. /**
  74. * @brief Destructor
  75. */
  76. virtual RTPS_DllAPI ~ReaderResourceLimitsQos() = default;
  77. bool operator ==(
  78. const ReaderResourceLimitsQos& b) const
  79. {
  80. return (this->matched_publisher_allocation == b.matched_publisher_allocation);
  81. }
  82. inline void clear()
  83. {
  84. ReaderResourceLimitsQos reset = ReaderResourceLimitsQos();
  85. std::swap(*this, reset);
  86. }
  87. //!Matched publishers allocation limits.
  88. fastrtps::ResourceLimitedContainerConfig matched_publisher_allocation;
  89. };
  90. //! Qos Policy to configure the XTypes Qos associated to the DataReader
  91. class TypeConsistencyQos : public QosPolicy
  92. {
  93. public:
  94. /**
  95. * @brief Constructor
  96. */
  97. RTPS_DllAPI TypeConsistencyQos()
  98. : QosPolicy(false)
  99. {
  100. }
  101. /**
  102. * @brief Destructor
  103. */
  104. virtual RTPS_DllAPI ~TypeConsistencyQos() = default;
  105. bool operator ==(
  106. const TypeConsistencyQos& b) const
  107. {
  108. return (this->type_consistency == b.type_consistency) &&
  109. (this->representation == b.representation) &&
  110. QosPolicy::operator ==(b);
  111. }
  112. inline void clear() override
  113. {
  114. TypeConsistencyQos reset = TypeConsistencyQos();
  115. std::swap(*this, reset);
  116. }
  117. //!Type consistency enforcement Qos.
  118. TypeConsistencyEnforcementQosPolicy type_consistency;
  119. //!Data Representation Qos.
  120. DataRepresentationQosPolicy representation;
  121. };
  122. /**
  123. * Class DataReaderQos, containing all the possible Qos that can be set for a determined DataReader.
  124. * Although these values can be set and are transmitted
  125. * during the Endpoint Discovery Protocol, not all of the behaviour associated with them has been implemented in the library.
  126. * Please consult each of them to check for implementation details and default values.
  127. * @ingroup FASTDDS_QOS_MODULE
  128. */
  129. class DataReaderQos
  130. {
  131. public:
  132. /**
  133. * @brief Constructor
  134. */
  135. RTPS_DllAPI DataReaderQos()
  136. : expects_inline_qos_(false)
  137. {
  138. }
  139. RTPS_DllAPI bool operator ==(
  140. const DataReaderQos& b) const
  141. {
  142. return (durability_ == b.durability()) &&
  143. (deadline_ == b.deadline()) &&
  144. (latency_budget_ == b.latency_budget()) &&
  145. (liveliness_ == b.liveliness()) &&
  146. (reliability_ == b.reliability()) &&
  147. (destination_order_ == b.destination_order()) &&
  148. (history_ == b.history()) &&
  149. (resource_limits_ == b.resource_limits()) &&
  150. (user_data_ == b.user_data()) &&
  151. (ownership_ == b.ownership()) &&
  152. (time_based_filter_ == b.time_based_filter()) &&
  153. (reader_data_lifecycle_ == b.reader_data_lifecycle()) &&
  154. (lifespan_ == b.lifespan()) &&
  155. (durability_service_ == b.durability_service()) &&
  156. (reliable_reader_qos_ == b.reliable_reader_qos()) &&
  157. (type_consistency_ == b.type_consistency()) &&
  158. (expects_inline_qos_ == b.expects_inline_qos()) &&
  159. (properties_ == b.properties()) &&
  160. (endpoint_ == b.endpoint()) &&
  161. (reader_resource_limits_ == b.reader_resource_limits());
  162. }
  163. RTPS_DllAPI ReaderQos get_readerqos(
  164. const SubscriberQos& sqos) const;
  165. /**
  166. * Getter for DurabilityQosPolicy
  167. * @return DurabilityQosPolicy reference
  168. */
  169. RTPS_DllAPI DurabilityQosPolicy& durability()
  170. {
  171. return durability_;
  172. }
  173. /**
  174. * Getter for DurabilityQosPolicy
  175. * @return DurabilityQosPolicy const reference
  176. */
  177. RTPS_DllAPI const DurabilityQosPolicy& durability() const
  178. {
  179. return durability_;
  180. }
  181. /**
  182. * Setter for DurabilityQosPolicy
  183. * @param new_value new value for the DurabilityQosPolicy
  184. */
  185. RTPS_DllAPI void durability(
  186. const DurabilityQosPolicy& new_value)
  187. {
  188. durability_ = new_value;
  189. }
  190. /**
  191. * Getter for DeadlineQosPolicy
  192. * @return DeadlineQosPolicy reference
  193. */
  194. RTPS_DllAPI DeadlineQosPolicy& deadline()
  195. {
  196. return deadline_;
  197. }
  198. /**
  199. * Getter for DeadlineQosPolicy
  200. * @return DeadlineQosPolicy const reference
  201. */
  202. RTPS_DllAPI const DeadlineQosPolicy& deadline() const
  203. {
  204. return deadline_;
  205. }
  206. /**
  207. * Setter for DeadlineQosPolicy
  208. * @param new_value new value for the DeadlineQosPolicy
  209. */
  210. RTPS_DllAPI void deadline(
  211. const DeadlineQosPolicy& new_value)
  212. {
  213. deadline_ = new_value;
  214. }
  215. /**
  216. * Getter for LatencyBudgetQosPolicy
  217. * @return LatencyBudgetQosPolicy reference
  218. */
  219. RTPS_DllAPI LatencyBudgetQosPolicy& latency_budget()
  220. {
  221. return latency_budget_;
  222. }
  223. /**
  224. * Getter for LatencyBudgetQosPolicy
  225. * @return LatencyBudgetQosPolicy const reference
  226. */
  227. RTPS_DllAPI const LatencyBudgetQosPolicy& latency_budget() const
  228. {
  229. return latency_budget_;
  230. }
  231. /**
  232. * Setter for LatencyBudgetQosPolicy
  233. * @param new_value new value for the LatencyBudgetQosPolicy
  234. */
  235. RTPS_DllAPI void latency_budget(
  236. const LatencyBudgetQosPolicy& new_value)
  237. {
  238. latency_budget_ = new_value;
  239. }
  240. /**
  241. * Getter for LivelinessQosPolicy
  242. * @return LivelinessQosPolicy reference
  243. */
  244. RTPS_DllAPI LivelinessQosPolicy& liveliness()
  245. {
  246. return liveliness_;
  247. }
  248. /**
  249. * Getter for LivelinessQosPolicy
  250. * @return LivelinessQosPolicy const reference
  251. */
  252. RTPS_DllAPI const LivelinessQosPolicy& liveliness() const
  253. {
  254. return liveliness_;
  255. }
  256. /**
  257. * Setter for LivelinessQosPolicy
  258. * @param new_value new value for the LivelinessQosPolicy
  259. */
  260. RTPS_DllAPI void liveliness(
  261. const LivelinessQosPolicy& new_value)
  262. {
  263. liveliness_ = new_value;
  264. }
  265. /**
  266. * Getter for ReliabilityQosPolicy
  267. * @return ReliabilityQosPolicy reference
  268. */
  269. RTPS_DllAPI ReliabilityQosPolicy& reliability()
  270. {
  271. return reliability_;
  272. }
  273. /**
  274. * Getter for ReliabilityQosPolicy
  275. * @return ReliabilityQosPolicy const reference
  276. */
  277. RTPS_DllAPI const ReliabilityQosPolicy& reliability() const
  278. {
  279. return reliability_;
  280. }
  281. /**
  282. * Setter for ReliabilityQosPolicy
  283. * @param new_value new value for the ReliabilityQosPolicy
  284. */
  285. RTPS_DllAPI void reliability(
  286. const ReliabilityQosPolicy& new_value)
  287. {
  288. reliability_ = new_value;
  289. }
  290. /**
  291. * Getter for DestinationOrderQosPolicy
  292. * @return DestinationOrderQosPolicy reference
  293. */
  294. RTPS_DllAPI DestinationOrderQosPolicy& destination_order()
  295. {
  296. return destination_order_;
  297. }
  298. /**
  299. * Getter for DestinationOrderQosPolicy
  300. * @return DestinationOrderQosPolicy const reference
  301. */
  302. RTPS_DllAPI const DestinationOrderQosPolicy& destination_order() const
  303. {
  304. return destination_order_;
  305. }
  306. /**
  307. * Setter for DestinationOrderQosPolicy
  308. * @param new_value new value for the DestinationOrderQosPolicy
  309. */
  310. RTPS_DllAPI void destination_order(
  311. const DestinationOrderQosPolicy& new_value)
  312. {
  313. destination_order_ = new_value;
  314. }
  315. /**
  316. * Getter for HistoryQosPolicy
  317. * @return HistoryQosPolicy reference
  318. */
  319. RTPS_DllAPI HistoryQosPolicy& history()
  320. {
  321. return history_;
  322. }
  323. /**
  324. * Getter for HistoryQosPolicy
  325. * @return HistoryQosPolicy const reference
  326. */
  327. RTPS_DllAPI const HistoryQosPolicy& history() const
  328. {
  329. return history_;
  330. }
  331. /**
  332. * Setter for HistoryQosPolicy
  333. * @param new_value new value for the HistoryQosPolicy
  334. */
  335. RTPS_DllAPI void history(
  336. const HistoryQosPolicy& new_value)
  337. {
  338. history_ = new_value;
  339. }
  340. /**
  341. * Getter for ResourceLimitsQosPolicy
  342. * @return ResourceLimitsQosPolicy reference
  343. */
  344. RTPS_DllAPI ResourceLimitsQosPolicy& resource_limits()
  345. {
  346. return resource_limits_;
  347. }
  348. /**
  349. * Getter for ResourceLimitsQosPolicy
  350. * @return ResourceLimitsQosPolicy const reference
  351. */
  352. RTPS_DllAPI const ResourceLimitsQosPolicy& resource_limits() const
  353. {
  354. return resource_limits_;
  355. }
  356. /**
  357. * Setter for ResourceLimitsQosPolicy
  358. * @param new_value new value for the ResourceLimitsQosPolicy
  359. */
  360. RTPS_DllAPI void resource_limits(
  361. const ResourceLimitsQosPolicy& new_value)
  362. {
  363. resource_limits_ = new_value;
  364. }
  365. /**
  366. * Getter for UserDataQosPolicy
  367. * @return UserDataQosPolicy reference
  368. */
  369. RTPS_DllAPI UserDataQosPolicy& user_data()
  370. {
  371. return user_data_;
  372. }
  373. /**
  374. * Getter for UserDataQosPolicy
  375. * @return UserDataQosPolicy const reference
  376. */
  377. RTPS_DllAPI const UserDataQosPolicy& user_data() const
  378. {
  379. return user_data_;
  380. }
  381. /**
  382. * Setter for UserDataQosPolicy
  383. * @param new_value new value for the UserDataQosPolicy
  384. */
  385. RTPS_DllAPI void user_data(
  386. const UserDataQosPolicy& new_value)
  387. {
  388. user_data_ = new_value;
  389. }
  390. /**
  391. * Getter for OwnershipQosPolicy
  392. * @return OwnershipQosPolicy reference
  393. */
  394. RTPS_DllAPI OwnershipQosPolicy& ownership()
  395. {
  396. return ownership_;
  397. }
  398. /**
  399. * Getter for OwnershipQosPolicy
  400. * @return OwnershipQosPolicy const reference
  401. */
  402. RTPS_DllAPI const OwnershipQosPolicy& ownership() const
  403. {
  404. return ownership_;
  405. }
  406. /**
  407. * Setter for OwnershipQosPolicy
  408. * @param new_value new value for the OwnershipQosPolicy
  409. */
  410. RTPS_DllAPI void ownership(
  411. const OwnershipQosPolicy& new_value)
  412. {
  413. ownership_ = new_value;
  414. }
  415. /**
  416. * Getter for TimeBasedFilterQosPolicy
  417. * @return TimeBasedFilterQosPolicy reference
  418. */
  419. RTPS_DllAPI TimeBasedFilterQosPolicy& time_based_filter()
  420. {
  421. return time_based_filter_;
  422. }
  423. /**
  424. * Getter for TimeBasedFilterQosPolicy
  425. * @return TimeBasedFilterQosPolicy const reference
  426. */
  427. RTPS_DllAPI const TimeBasedFilterQosPolicy& time_based_filter() const
  428. {
  429. return time_based_filter_;
  430. }
  431. /**
  432. * Setter for TimeBasedFilterQosPolicy
  433. * @param new_value new value for the TimeBasedFilterQosPolicy
  434. */
  435. RTPS_DllAPI void time_based_filter(
  436. const TimeBasedFilterQosPolicy& new_value)
  437. {
  438. time_based_filter_ = new_value;
  439. }
  440. /**
  441. * Getter for ReaderDataLifecycleQosPolicy
  442. * @return ReaderDataLifecycleQosPolicy reference
  443. */
  444. RTPS_DllAPI ReaderDataLifecycleQosPolicy& reader_data_lifecycle()
  445. {
  446. return reader_data_lifecycle_;
  447. }
  448. /**
  449. * Getter for ReaderDataLifecycleQosPolicy
  450. * @return ReaderDataLifecycleQosPolicy const reference
  451. */
  452. RTPS_DllAPI const ReaderDataLifecycleQosPolicy& reader_data_lifecycle() const
  453. {
  454. return reader_data_lifecycle_;
  455. }
  456. /**
  457. * Setter for ReaderDataLifecycleQosPolicy
  458. * @param new_value new value for the ReaderDataLifecycleQosPolicy
  459. */
  460. RTPS_DllAPI void reader_data_lifecycle(
  461. const ReaderDataLifecycleQosPolicy& new_value)
  462. {
  463. reader_data_lifecycle_ = new_value;
  464. }
  465. /**
  466. * Getter for LifespanQosPolicy
  467. * @return LifespanQosPolicy reference
  468. */
  469. RTPS_DllAPI LifespanQosPolicy& lifespan()
  470. {
  471. return lifespan_;
  472. }
  473. /**
  474. * Getter for LifespanQosPolicy
  475. * @return LifespanQosPolicy const reference
  476. */
  477. RTPS_DllAPI const LifespanQosPolicy& lifespan() const
  478. {
  479. return lifespan_;
  480. }
  481. /**
  482. * Setter for LifespanQosPolicy
  483. * @param new_value new value for the LifespanQosPolicy
  484. */
  485. RTPS_DllAPI void lifespan(
  486. const LifespanQosPolicy& new_value)
  487. {
  488. lifespan_ = new_value;
  489. }
  490. /**
  491. * Getter for DurabilityServiceQosPolicy
  492. * @return DurabilityServiceQosPolicy reference
  493. */
  494. RTPS_DllAPI DurabilityServiceQosPolicy& durability_service()
  495. {
  496. return durability_service_;
  497. }
  498. /**
  499. * Getter for DurabilityServiceQosPolicy
  500. * @return DurabilityServiceQosPolicy const reference
  501. */
  502. RTPS_DllAPI const DurabilityServiceQosPolicy& durability_service() const
  503. {
  504. return durability_service_;
  505. }
  506. /**
  507. * Setter for DurabilityServiceQosPolicy
  508. * @param new_value new value for the DurabilityServiceQosPolicy
  509. */
  510. RTPS_DllAPI void durability_service(
  511. const DurabilityServiceQosPolicy& new_value)
  512. {
  513. durability_service_ = new_value;
  514. }
  515. /**
  516. * Getter for RTPSReliableReaderQos
  517. * @return RTPSReliableReaderQos reference
  518. */
  519. RTPS_DllAPI RTPSReliableReaderQos& reliable_reader_qos()
  520. {
  521. return reliable_reader_qos_;
  522. }
  523. /**
  524. * Getter for RTPSReliableReaderQos
  525. * @return RTPSReliableReaderQos const reference
  526. */
  527. RTPS_DllAPI const RTPSReliableReaderQos& reliable_reader_qos() const
  528. {
  529. return reliable_reader_qos_;
  530. }
  531. /**
  532. * Setter for RTPSReliableReaderQos
  533. * @param new_value new value for the RTPSReliableReaderQos
  534. */
  535. RTPS_DllAPI void reliable_reader_qos(
  536. const RTPSReliableReaderQos& new_value)
  537. {
  538. reliable_reader_qos_ = new_value;
  539. }
  540. /**
  541. * Getter for TypeConsistencyQos
  542. * @return TypeConsistencyQos reference
  543. */
  544. RTPS_DllAPI TypeConsistencyQos& type_consistency()
  545. {
  546. return type_consistency_;
  547. }
  548. /**
  549. * Getter for TypeConsistencyQos
  550. * @return TypeConsistencyQos const reference
  551. */
  552. RTPS_DllAPI const TypeConsistencyQos& type_consistency() const
  553. {
  554. return type_consistency_;
  555. }
  556. /**
  557. * Setter for TypeConsistencyQos
  558. * @param new_value new value for the TypeConsistencyQos
  559. */
  560. RTPS_DllAPI void type_consistency(
  561. const TypeConsistencyQos& new_value)
  562. {
  563. type_consistency_ = new_value;
  564. }
  565. /**
  566. * Getter for expectsInlineQos_
  567. * @return expectsInlineQos_
  568. */
  569. RTPS_DllAPI bool expects_inline_qos() const
  570. {
  571. return expects_inline_qos_;
  572. }
  573. /**
  574. * Setter for expectsInlineQos_
  575. * @param new_value new value for the expectsInlineQos_
  576. */
  577. RTPS_DllAPI void expects_inline_qos(
  578. bool new_value)
  579. {
  580. expects_inline_qos_ = new_value;
  581. }
  582. /**
  583. * Getter for PropertyPolicyQos
  584. * @return PropertyPolicyQos reference
  585. */
  586. RTPS_DllAPI PropertyPolicyQos& properties()
  587. {
  588. return properties_;
  589. }
  590. /**
  591. * Getter for PropertyPolicyQos
  592. * @return PropertyPolicyQos const reference
  593. */
  594. RTPS_DllAPI const PropertyPolicyQos& properties() const
  595. {
  596. return properties_;
  597. }
  598. /**
  599. * Setter for PropertyPolicyQos
  600. * @param new_value new value for the PropertyPolicyQos
  601. */
  602. RTPS_DllAPI void properties(
  603. const PropertyPolicyQos& new_value)
  604. {
  605. properties_ = new_value;
  606. }
  607. /**
  608. * Getter for RTPSEndpointQos
  609. * @return RTPSEndpointQos reference
  610. */
  611. RTPS_DllAPI RTPSEndpointQos& endpoint()
  612. {
  613. return endpoint_;
  614. }
  615. /**
  616. * Getter for RTPSEndpointQos
  617. * @return RTPSEndpointQos const reference
  618. */
  619. RTPS_DllAPI const RTPSEndpointQos& endpoint() const
  620. {
  621. return endpoint_;
  622. }
  623. /**
  624. * Setter for RTPSEndpointQos
  625. * @param new_value new value for the RTPSEndpointQos
  626. */
  627. RTPS_DllAPI void endpoint(
  628. const RTPSEndpointQos& new_value)
  629. {
  630. endpoint_ = new_value;
  631. }
  632. /**
  633. * Getter for ReaderResourceLimitsQos
  634. * @return ReaderResourceLimitsQos reference
  635. */
  636. RTPS_DllAPI ReaderResourceLimitsQos& reader_resource_limits()
  637. {
  638. return reader_resource_limits_;
  639. }
  640. /**
  641. * Getter for ReaderResourceLimitsQos
  642. * @return ReaderResourceLimitsQos const reference
  643. */
  644. RTPS_DllAPI const ReaderResourceLimitsQos& reader_resource_limits() const
  645. {
  646. return reader_resource_limits_;
  647. }
  648. /**
  649. * Setter for ReaderResourceLimitsQos
  650. * @param new_value new value for the ReaderResourceLimitsQos
  651. */
  652. RTPS_DllAPI void reader_resource_limits(
  653. const ReaderResourceLimitsQos& new_value)
  654. {
  655. reader_resource_limits_ = new_value;
  656. }
  657. private:
  658. //!Durability Qos, implemented in the library.
  659. DurabilityQosPolicy durability_;
  660. //!Deadline Qos, implemented in the library.
  661. DeadlineQosPolicy deadline_;
  662. //!Latency Budget Qos, implemented in the library.
  663. LatencyBudgetQosPolicy latency_budget_;
  664. //!Liveliness Qos, implemented in the library.
  665. LivelinessQosPolicy liveliness_;
  666. //!Reliability Qos, implemented in the library.
  667. ReliabilityQosPolicy reliability_;
  668. //!Destination Order Qos, NOT implemented in the library.
  669. DestinationOrderQosPolicy destination_order_;
  670. //!History Qos, implemented in the library.
  671. HistoryQosPolicy history_;
  672. //!Resource Limits Qos, implemented in the library.
  673. ResourceLimitsQosPolicy resource_limits_;
  674. //!User Data Qos, implemented in the library.
  675. UserDataQosPolicy user_data_;
  676. //!Ownership Qos, implemented in the library.
  677. OwnershipQosPolicy ownership_;
  678. //!Time Based Filter Qos, NOT implemented in the library.
  679. TimeBasedFilterQosPolicy time_based_filter_;
  680. //!Reader Data Lifecycle Qos, NOT implemented in the library.
  681. ReaderDataLifecycleQosPolicy reader_data_lifecycle_;
  682. //!Lifespan Qos (Extension).
  683. LifespanQosPolicy lifespan_;
  684. //!Durability Service Qos (Extension).
  685. DurabilityServiceQosPolicy durability_service_;
  686. //!Reliable reader configuration (Extension)
  687. RTPSReliableReaderQos reliable_reader_qos_;
  688. //! Tipe consistency (Extension)
  689. TypeConsistencyQos type_consistency_;
  690. //!Expects Inline QOS (Extension).
  691. bool expects_inline_qos_;
  692. //!Properties (Extension).
  693. PropertyPolicyQos properties_;
  694. //!Endpoint configuration (Extension)
  695. RTPSEndpointQos endpoint_;
  696. //!ReaderResourceLimitsQos
  697. ReaderResourceLimitsQos reader_resource_limits_;
  698. };
  699. RTPS_DllAPI extern const DataReaderQos DATAREADER_QOS_DEFAULT;
  700. } // namespace dds
  701. } // namespace fastdds
  702. } // namespace eprosima
  703. #endif // _FASTDDS_DATAREADERQOS_HPP