| Fast DDS Version 3.3.0 Fast DDS

Loading...
Searching...
No Matches
ReaderAttributes.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
19
20#ifndef FASTDDS_RTPS_ATTRIBUTES__READERATTRIBUTES_HPP
21#define FASTDDS_RTPS_ATTRIBUTES__READERATTRIBUTES_HPP
22
23#include <fastdds/dds/core/policy/QosPolicies.hpp>
24#include <fastdds/rtps/attributes/EndpointAttributes.hpp>
25#include <fastdds/rtps/attributes/ThreadSettings.hpp>
26#include <fastdds/rtps/common/Time_t.hpp>
27#include <fastdds/utils/collections/ResourceLimitedContainerConfig.hpp>
28
29 namespace eprosima {
30 namespace fastdds {
31 namespace rtps {
32
37 class ReaderTimes
38{
39 public:
40
41 bool operator ==(
42 const ReaderTimes& b) const
43 {
44 return (initial_acknack_delay == b.initial_acknack_delay) &&
45 (heartbeat_response_delay == b.heartbeat_response_delay);
46 }
47
49 dds::Duration_t initial_acknack_delay {0, 70 * 1000 * 1000};
51 dds::Duration_t heartbeat_response_delay {0, 5 * 1000 * 1000};
52};
53
58 class ReaderAttributes
59{
60 public:
61
62 ReaderAttributes()
63 {
64 endpoint.endpointKind = READER;
65 endpoint.durabilityKind = VOLATILE;
66 endpoint.reliabilityKind = BEST_EFFORT;
67 }
68
70 EndpointAttributes endpoint {};
71
73 ReaderTimes times {};
74
76 fastdds::dds::LivelinessQosPolicyKind liveliness_kind =
77 fastdds::dds::LivelinessQosPolicyKind::AUTOMATIC_LIVELINESS_QOS;
78
80 dds::Duration_t liveliness_lease_duration {TIME_T_INFINITE_SECONDS, TIME_T_INFINITE_NANOSECONDS};
81
83 bool expects_inline_qos = false;
84
86 bool disable_positive_acks = false;
87
89 bool accept_messages_from_unkown_writers = false;
90
92 ResourceLimitedContainerConfig matched_writers_allocation {};
93
95 fastdds::rtps::ThreadSettings data_sharing_listener_thread {};
96};
97
98} // namespace rtps
99} // namespace fastdds
100} // namespace eprosima
101
102#endif // FASTDDS_RTPS_ATTRIBUTES__READERATTRIBUTES_HPP
eprosima::fastdds::rtps::EndpointAttributes
Structure EndpointAttributes, describing the attributes associated with an RTPS Endpoint.
Definition EndpointAttributes.hpp:40
eprosima::fastdds::rtps::ReaderAttributes::ReaderAttributes
ReaderAttributes()
Definition ReaderAttributes.hpp:62
eprosima::fastdds::rtps::ReaderAttributes::endpoint
EndpointAttributes endpoint
Attributes of the associated endpoint.
Definition ReaderAttributes.hpp:70
eprosima::fastdds::rtps::ReaderAttributes::matched_writers_allocation
ResourceLimitedContainerConfig matched_writers_allocation
Define the allocation behaviour for matched-writer-dependent collections.
Definition ReaderAttributes.hpp:92
eprosima::fastdds::rtps::ReaderAttributes::accept_messages_from_unkown_writers
bool accept_messages_from_unkown_writers
Enable or disable the reception of messages from unknown writers.
Definition ReaderAttributes.hpp:89
eprosima::fastdds::rtps::ReaderAttributes::disable_positive_acks
bool disable_positive_acks
Disable positive ACKs.
Definition ReaderAttributes.hpp:86
eprosima::fastdds::rtps::ReaderAttributes::data_sharing_listener_thread
fastdds::rtps::ThreadSettings data_sharing_listener_thread
Thread settings for the data-sharing listener thread.
Definition ReaderAttributes.hpp:95
eprosima::fastdds::rtps::ReaderAttributes::liveliness_kind
fastdds::dds::LivelinessQosPolicyKind liveliness_kind
Liveliness kind.
Definition ReaderAttributes.hpp:76
eprosima::fastdds::rtps::ReaderAttributes::times
ReaderTimes times
Times associated with this reader (only for stateful readers).
Definition ReaderAttributes.hpp:73
eprosima::fastdds::rtps::ReaderAttributes::liveliness_lease_duration
dds::Duration_t liveliness_lease_duration
Liveliness lease duration.
Definition ReaderAttributes.hpp:80
eprosima::fastdds::rtps::ReaderAttributes::expects_inline_qos
bool expects_inline_qos
Indicates if the reader expects Inline qos, default value false.
Definition ReaderAttributes.hpp:83
eprosima::fastdds::rtps::ReaderTimes
Class ReaderTimes, defining the times associated with the Reliable Readers events.
Definition ReaderAttributes.hpp:38
eprosima::fastdds::rtps::ReaderTimes::operator==
bool operator==(const ReaderTimes &b) const
Definition ReaderAttributes.hpp:41
eprosima::fastdds::rtps::ReaderTimes::heartbeat_response_delay
dds::Duration_t heartbeat_response_delay
Delay to be applied when a HEARTBEAT message is received, default value 5ms.
Definition ReaderAttributes.hpp:51
eprosima::fastdds::rtps::ReaderTimes::initial_acknack_delay
dds::Duration_t initial_acknack_delay
Initial AckNack delay. Default value 70ms.
Definition ReaderAttributes.hpp:49
eprosima::fastdds::dds::LivelinessQosPolicyKind
LivelinessQosPolicyKind
Enum LivelinessQosPolicyKind, different kinds of liveliness for LivelinessQosPolicy.
Definition QosPolicies.hpp:458
eprosima::fastdds::dds::Duration_t
Time_t Duration_t
Definition Time_t.hpp:91
eprosima::fastdds::rtps
Contains the RTPS protocol implementation.
eprosima::fastdds::rtps::BEST_EFFORT
@ BEST_EFFORT
Definition Types.hpp:51
eprosima::fastdds::rtps::READER
@ READER
Definition Types.hpp:66
eprosima::fastdds::rtps::VOLATILE
@ VOLATILE
Volatile Durability.
Definition Types.hpp:57
eprosima::fastdds
eprosima
eProsima namespace.
eprosima::fastdds::ResourceLimitedContainerConfig
Specifies the configuration of a resource limited collection.
Definition ResourceLimitedContainerConfig.hpp:36
eprosima::fastdds::rtps::ThreadSettings
Struct ThreadSettings to specify various thread settings.
Definition ThreadSettings.hpp:37