Fast DDS  Version 3.3.0
Fast DDS
Loading...
Searching...
No Matches
WriterAttributes.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#ifndef FASTDDS_RTPS_ATTRIBUTES__WRITERATTRIBUTES_HPP
20#define FASTDDS_RTPS_ATTRIBUTES__WRITERATTRIBUTES_HPP
21
22#include <functional>
23
24#include <fastdds/dds/core/policy/QosPolicies.hpp>
25#include <fastdds/rtps/attributes/EndpointAttributes.hpp>
26#include <fastdds/rtps/common/Guid.hpp>
27#include <fastdds/rtps/common/Time_t.hpp>
28#include <fastdds/rtps/flowcontrol/FlowControllerConsts.hpp>
29#include <fastdds/utils/collections/ResourceLimitedContainerConfig.hpp>
30
31namespace eprosima {
32namespace fastdds {
33namespace rtps {
34
40
41
67
73{
74public:
75
77 : liveliness_kind(fastdds::dds::LivelinessQosPolicyKind::AUTOMATIC_LIVELINESS_QOS)
78 , liveliness_lease_duration(TIME_T_INFINITE_SECONDS, TIME_T_INFINITE_NANOSECONDS)
79 , liveliness_announcement_period(TIME_T_INFINITE_SECONDS, TIME_T_INFINITE_NANOSECONDS)
83 , keep_duration(TIME_T_INFINITE_SECONDS, TIME_T_INFINITE_NANOSECONDS)
84 {
85 endpoint.endpointKind = WRITER;
86 endpoint.durabilityKind = TRANSIENT_LOCAL;
87 endpoint.reliabilityKind = RELIABLE;
88 }
89
91 {
92 }
93
96
99
102
105
108
111
114
117
120
123
126
128 bool separate_sending = false;
129};
130
131} // namespace rtps
132} // namespace fastdds
133} // namespace eprosima
134
135#endif // FASTDDS_RTPS_ATTRIBUTES__WRITERATTRIBUTES_HPP
Structure EndpointAttributes, describing the attributes associated with an RTPS Endpoint.
Definition EndpointAttributes.hpp:40
WriterTimes times
Writer Times (only used for RELIABLE).
Definition WriterAttributes.hpp:98
EndpointAttributes endpoint
Attributes of the associated endpoint.
Definition WriterAttributes.hpp:95
WriterAttributes()
Definition WriterAttributes.hpp:76
dds::Duration_t keep_duration
Keep duration to keep a sample before considering it has been acked.
Definition WriterAttributes.hpp:122
std::string flow_controller_name
Flow controller name. Default: fastdds::rtps::FASTDDS_FLOW_CONTROLLER_DEFAULT.
Definition WriterAttributes.hpp:125
ResourceLimitedContainerConfig matched_readers_allocation
Define the allocation behaviour for matched-reader-dependent collections.
Definition WriterAttributes.hpp:116
bool disable_positive_acks
Disable the sending of positive ACKs.
Definition WriterAttributes.hpp:119
RTPSWriterPublishMode mode
Indicates if the Writer is synchronous or asynchronous.
Definition WriterAttributes.hpp:110
virtual ~WriterAttributes()
Definition WriterAttributes.hpp:90
dds::Duration_t liveliness_announcement_period
Liveliness announcement period.
Definition WriterAttributes.hpp:107
bool disable_heartbeat_piggyback
Disable the sending of heartbeat piggybacks.
Definition WriterAttributes.hpp:113
fastdds::dds::LivelinessQosPolicyKind liveliness_kind
Liveliness kind.
Definition WriterAttributes.hpp:101
bool separate_sending
Whether to send data to each matched reader separately.
Definition WriterAttributes.hpp:128
dds::Duration_t liveliness_lease_duration
Liveliness lease duration.
Definition WriterAttributes.hpp:104
Definition DomainParticipant.hpp:46
LivelinessQosPolicyKind
Enum LivelinessQosPolicyKind, different kinds of liveliness for LivelinessQosPolicy.
Definition QosPolicies.hpp:458
Time_t Duration_t
Definition Time_t.hpp:91
Contains the RTPS protocol implementation.
unsigned char octet
Definition Types.hpp:83
FASTDDS_EXPORTED_API const char *const FASTDDS_FLOW_CONTROLLER_DEFAULT
Name of the default flow controller.
@ RELIABLE
Definition Types.hpp:50
@ WRITER
Definition Types.hpp:67
RTPSWriterPublishMode
Definition WriterAttributes.hpp:36
@ ASYNCHRONOUS_WRITER
Definition WriterAttributes.hpp:38
@ SYNCHRONOUS_WRITER
Definition WriterAttributes.hpp:37
@ TRANSIENT_LOCAL
Transient Local Durability.
Definition Types.hpp:58
eProsima namespace.
Specifies the configuration of a resource limited collection.
Definition ResourceLimitedContainerConfig.hpp:36
Struct WriterTimes, defining the times associated with the Reliable Writers events.
Definition WriterAttributes.hpp:47
bool operator==(const WriterTimes &b) const
Definition WriterAttributes.hpp:48
dds::Duration_t initial_heartbeat_delay
Initial heartbeat delay. Default value 12ms.
Definition WriterAttributes.hpp:58
dds::Duration_t nack_supression_duration
This time allows the RTPSWriter to ignore nack messages too soon after the data as sent,...
Definition WriterAttributes.hpp:64
dds::Duration_t heartbeat_period
Periodic HB period, default value 3s.
Definition WriterAttributes.hpp:60
dds::Duration_t nack_response_delay
Delay to apply to the response of a ACKNACK message, default value 5ms.
Definition WriterAttributes.hpp:62