Fast DDS  Version 3.6.1.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 <cstdint>
23#include <functional>
24#include <string>
25
26#include <fastdds/dds/core/policy/QosPolicies.hpp>
27#include <fastdds/rtps/attributes/EndpointAttributes.hpp>
28#include <fastdds/rtps/common/Guid.hpp>
29#include <fastdds/rtps/common/Time_t.hpp>
30#include <fastdds/rtps/common/Types.hpp>
31#include <fastdds/rtps/flowcontrol/FlowControllerConsts.hpp>
32#include <fastdds/utils/collections/ResourceLimitedContainerConfig.hpp>
33
34namespace eprosima {
35namespace fastdds {
36namespace rtps {
37
43
44
70
76{
77public:
78
80 : liveliness_kind(fastdds::dds::LivelinessQosPolicyKind::AUTOMATIC_LIVELINESS_QOS)
81 , liveliness_lease_duration(TIME_T_INFINITE_SECONDS, TIME_T_INFINITE_NANOSECONDS)
82 , liveliness_announcement_period(TIME_T_INFINITE_SECONDS, TIME_T_INFINITE_NANOSECONDS)
86 , keep_duration(TIME_T_INFINITE_SECONDS, TIME_T_INFINITE_NANOSECONDS)
87 {
88 endpoint.endpointKind = WRITER;
89 endpoint.durabilityKind = TRANSIENT_LOCAL;
90 endpoint.reliabilityKind = RELIABLE;
91 }
92
94 {
95 }
96
99
102
105
108
111
114
117
120
123
126
129
131 bool separate_sending = false;
132
135};
136
137} // namespace rtps
138} // namespace fastdds
139} // namespace eprosima
140
141#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:101
EndpointAttributes endpoint
Attributes of the associated endpoint.
Definition WriterAttributes.hpp:98
WriterAttributes()
Definition WriterAttributes.hpp:79
dds::Duration_t keep_duration
Keep duration to keep a sample before considering it has been acked.
Definition WriterAttributes.hpp:125
std::string flow_controller_name
Flow controller name. Default: fastdds::rtps::FASTDDS_FLOW_CONTROLLER_DEFAULT.
Definition WriterAttributes.hpp:128
ResourceLimitedContainerConfig matched_readers_allocation
Define the allocation behaviour for matched-reader-dependent collections.
Definition WriterAttributes.hpp:119
bool disable_positive_acks
Disable the sending of positive ACKs.
Definition WriterAttributes.hpp:122
RTPSWriterPublishMode mode
Indicates if the Writer is synchronous or asynchronous.
Definition WriterAttributes.hpp:113
virtual ~WriterAttributes()
Definition WriterAttributes.hpp:93
dds::Duration_t liveliness_announcement_period
Liveliness announcement period.
Definition WriterAttributes.hpp:110
bool disable_heartbeat_piggyback
Disable the sending of heartbeat piggybacks.
Definition WriterAttributes.hpp:116
fastdds::dds::LivelinessQosPolicyKind liveliness_kind
Liveliness kind.
Definition WriterAttributes.hpp:104
bool separate_sending
Whether to send data to each matched reader separately.
Definition WriterAttributes.hpp:131
int32_t transport_priority
Transport priority for this Writer.
Definition WriterAttributes.hpp:134
dds::Duration_t liveliness_lease_duration
Liveliness lease duration.
Definition WriterAttributes.hpp:107
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.
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
uint8_t octet
Definition Types.hpp:83
RTPSWriterPublishMode
Definition WriterAttributes.hpp:39
@ ASYNCHRONOUS_WRITER
Definition WriterAttributes.hpp:41
@ SYNCHRONOUS_WRITER
Definition WriterAttributes.hpp:40
@ 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:50
bool operator==(const WriterTimes &b) const
Definition WriterAttributes.hpp:51
dds::Duration_t initial_heartbeat_delay
Initial heartbeat delay. Default value 12ms.
Definition WriterAttributes.hpp:61
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:67
dds::Duration_t heartbeat_period
Periodic HB period, default value 3s.
Definition WriterAttributes.hpp:63
dds::Duration_t nack_response_delay
Delay to apply to the response of a ACKNACK message, default value 5ms.
Definition WriterAttributes.hpp:65