| Fast DDS Version 3.3.0 Fast DDS

Loading...
Searching...
No Matches
PublicationBuiltinTopicData.hpp
1// Copyright 2024 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
18
19#ifndef FASTDDS_RTPS_BUILTIN_DATA__PUBLICATIONBUILTINTOPICDATA_HPP
20#define FASTDDS_RTPS_BUILTIN_DATA__PUBLICATIONBUILTINTOPICDATA_HPP
21
22#include <cstdint>
23#include <string>
24
25#include <fastcdr/xcdr/optional.hpp>
26#include <fastcdr/cdr/fixed_size_string.hpp>
27
28#include <fastdds/dds/core/policy/QosPolicies.hpp>
29#include <fastdds/dds/core/policy/RTPSReliableWriterQos.hpp>
30#include <fastdds/dds/core/policy/WriterDataLifecycleQosPolicy.hpp>
31#include <fastdds/rtps/attributes/RTPSParticipantAllocationAttributes.hpp>
32#include <fastdds/rtps/builtin/data/BuiltinTopicKey.hpp>
33#include <fastdds/rtps/common/Guid.hpp>
34#include <fastdds/rtps/common/RemoteLocators.hpp>
35#include <fastdds/rtps/common/Types.hpp>
36
37 namespace eprosima {
38 namespace fastdds {
39 namespace dds {
40
41 class WriterQos;
42
43} // namespace dds
44 namespace rtps {
45
47 struct PublicationBuiltinTopicData
48{
49 FASTDDS_EXPORTED_API PublicationBuiltinTopicData();
50
51 FASTDDS_EXPORTED_API PublicationBuiltinTopicData(
52 const size_t max_unicast_locators,
53 const size_t max_multicast_locators,
54 const VariableLengthDataLimits& data_limits);
55
57 BuiltinTopicKey_t key{{0, 0, 0}};
58
60 BuiltinTopicKey_t participant_key{{0, 0, 0}};
61
63 fastcdr::string_255 topic_name;
64
66 fastcdr::string_255 type_name;
67
69 TopicKind_t topic_kind = TopicKind_t::NO_KEY;
70
71 // DataWriter Qos
72
74 dds::DurabilityQosPolicy durability;
75
77 dds::DurabilityServiceQosPolicy durability_service;
78
80 dds::DeadlineQosPolicy deadline;
81
83 dds::LatencyBudgetQosPolicy latency_budget;
84
86 dds::LivelinessQosPolicy liveliness;
87
89 dds::ReliabilityQosPolicy reliability;
90
92 dds::LifespanQosPolicy lifespan;
93
95 dds::UserDataQosPolicy user_data;
96
98 dds::OwnershipQosPolicy ownership;
99
101 dds::OwnershipStrengthQosPolicy ownership_strength;
102
104 dds::DestinationOrderQosPolicy destination_order;
105
106 // Publisher Qos
107
109 dds::PresentationQosPolicy presentation;
110
112 dds::PartitionQosPolicy partition;
113
115 dds::TopicDataQosPolicy topic_data;
116
118 dds::GroupDataQosPolicy group_data;
119
120 // X-Types 1.3
121
123 dds::xtypes::TypeInformationParameter type_information;
124
126 dds::DataRepresentationQosPolicy representation;
127
128 // RPC over DDS V1.0
129
130 // Related DataReader Key
131 GUID_t related_datareader_key;
132
133 // eProsima extensions
134
136 dds::DisablePositiveACKsQosPolicy disable_positive_acks;
137
139 dds::DataSharingQosPolicy data_sharing;
140
142 fastcdr::optional<dds::HistoryQosPolicy> history;
143
145 fastcdr::optional<dds::ResourceLimitsQosPolicy> resource_limits;
146
148 fastcdr::optional<dds::TransportPriorityQosPolicy> transport_priority;
149
151 fastcdr::optional<dds::WriterDataLifecycleQosPolicy> writer_data_lifecycle;
152
154 fastcdr::optional<dds::PublishModeQosPolicy> publish_mode;
155
157 fastcdr::optional<dds::RTPSReliableWriterQos> rtps_reliable_writer;
158
160 fastcdr::optional<dds::RTPSEndpointQos> endpoint;
161
163 fastcdr::optional<dds::WriterResourceLimitsQos> writer_resource_limits;
164
166 GUID_t guid;
167
169 GUID_t persistence_guid;
170
172 GUID_t participant_guid;
173
175 RemoteLocatorList remote_locators;
176
178 uint32_t max_serialized_size = 0;
179
181 NetworkConfigSet_t loopback_transformation{};
182
184 ParameterPropertyList_t properties;
185};
186
187} // namespace rtps
188} // namespace fastdds
189} // namespace eprosima
190
191#endif // FASTDDS_RTPS_BUILTIN_DATA__PUBLICATIONBUILTINTOPICDATA_HPP
eprosima::fastdds::dds::DataRepresentationQosPolicy
With multiple standard data Representations available, and vendor-specific extensions possible,...
Definition QosPolicies.hpp:2072
eprosima::fastdds::dds::DataSharingQosPolicy
Qos Policy to configure the data sharing.
Definition QosPolicies.hpp:2952
eprosima::fastdds::dds::DeadlineQosPolicy
DataReader expects a new sample updating the value of each instance at least once every deadline peri...
Definition QosPolicies.hpp:363
eprosima::fastdds::dds::DestinationOrderQosPolicy
Controls the criteria used to determine the logical order among changes made by Publisher entities to...
Definition QosPolicies.hpp:719
eprosima::fastdds::dds::DisablePositiveACKsQosPolicy
Class DisablePositiveACKsQosPolicy to disable sending of positive ACKs.
Definition QosPolicies.hpp:2224
eprosima::fastdds::dds::DurabilityQosPolicy
This policy expresses if the data should ‘outlive’ their writing time.
Definition QosPolicies.hpp:278
eprosima::fastdds::dds::DurabilityServiceQosPolicy
Specifies the configuration of the durability service.
Definition QosPolicies.hpp:1789
eprosima::fastdds::dds::LatencyBudgetQosPolicy
Specifies the maximum acceptable delay from the time the data is written until the data is inserted i...
Definition QosPolicies.hpp:416
eprosima::fastdds::dds::LifespanQosPolicy
Specifies the maximum duration of validity of the data written by the DataWriter.
Definition QosPolicies.hpp:1877
eprosima::fastdds::dds::LivelinessQosPolicy
Determines the mechanism and parameters used by the application to determine whether an Entity is “ac...
Definition QosPolicies.hpp:488
eprosima::fastdds::dds::OwnershipQosPolicy
Specifies whether it is allowed for multiple DataWriters to write the same instance of the data and i...
Definition QosPolicies.hpp:652
eprosima::fastdds::dds::OwnershipStrengthQosPolicy
Specifies the value of the “strength” used to arbitrate among multiple DataWriter objects that attemp...
Definition QosPolicies.hpp:1923
eprosima::fastdds::dds::PartitionQosPolicy
Set of strings that introduces a logical partition among the topics visible by the Publisher and Subs...
Definition QosPolicies.hpp:1286
eprosima::fastdds::dds::PresentationQosPolicy
Specifies how the samples representing changes to data instances are presented to the subscribing app...
Definition QosPolicies.hpp:1156
eprosima::fastdds::dds::ReliabilityQosPolicy
Indicates the reliability of the endpoint.
Definition QosPolicies.hpp:570
eprosima::fastdds::dds::WriterQos
Definition WriterQos.hpp:38
eprosima::fastdds::dds::xtypes::TypeInformationParameter
Class xtypes::TypeInformationParameter.
Definition QosPolicies.hpp:2497
eprosima::fastdds::dds
Definition BuiltinTopicKey.hpp:26
eprosima::fastdds::rtps
Contains the RTPS protocol implementation.
eprosima::fastdds::rtps::NetworkConfigSet_t
uint32_t NetworkConfigSet_t
Definition Types.hpp:88
eprosima::fastdds::rtps::TopicKind_t
TopicKind_t
Topic kind.
Definition Types.hpp:72
eprosima::fastdds::rtps::ParameterPropertyList_t
fastdds::dds::ParameterPropertyList_t ParameterPropertyList_t
Definition ParameterTypes.hpp:1952
eprosima::fastdds
eprosima
eProsima namespace.
eprosima::fastdds::rtps::BuiltinTopicKey_t
Definition BuiltinTopicKey.hpp:30
eprosima::fastdds::rtps::GUID_t
Structure GUID_t, entity identifier, unique in DDS-RTPS Domain.
Definition Guid.hpp:40
eprosima::fastdds::rtps::PublicationBuiltinTopicData::deadline
dds::DeadlineQosPolicy deadline
Deadline Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:80
eprosima::fastdds::rtps::PublicationBuiltinTopicData::type_information
dds::xtypes::TypeInformationParameter type_information
Type information.
Definition PublicationBuiltinTopicData.hpp:123
eprosima::fastdds::rtps::PublicationBuiltinTopicData::lifespan
dds::LifespanQosPolicy lifespan
Lifespan Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:92
eprosima::fastdds::rtps::PublicationBuiltinTopicData::user_data
dds::UserDataQosPolicy user_data
User Data Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:95
eprosima::fastdds::rtps::PublicationBuiltinTopicData::persistence_guid
GUID_t persistence_guid
Persistence GUID.
Definition PublicationBuiltinTopicData.hpp:169
eprosima::fastdds::rtps::PublicationBuiltinTopicData::partition
dds::PartitionQosPolicy partition
Partition Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:112
eprosima::fastdds::rtps::PublicationBuiltinTopicData::topic_kind
TopicKind_t topic_kind
Topic kind.
Definition PublicationBuiltinTopicData.hpp:69
eprosima::fastdds::rtps::PublicationBuiltinTopicData::endpoint
fastcdr::optional< dds::RTPSEndpointQos > endpoint
Endpoint qos policy.
Definition PublicationBuiltinTopicData.hpp:160
eprosima::fastdds::rtps::PublicationBuiltinTopicData::destination_order
dds::DestinationOrderQosPolicy destination_order
Destination Order Qos, NOT implemented in the library.
Definition PublicationBuiltinTopicData.hpp:104
eprosima::fastdds::rtps::PublicationBuiltinTopicData::loopback_transformation
NetworkConfigSet_t loopback_transformation
Network configuration.
Definition PublicationBuiltinTopicData.hpp:181
eprosima::fastdds::rtps::PublicationBuiltinTopicData::PublicationBuiltinTopicData
FASTDDS_EXPORTED_API PublicationBuiltinTopicData()
eprosima::fastdds::rtps::PublicationBuiltinTopicData::durability
dds::DurabilityQosPolicy durability
Durability Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:74
eprosima::fastdds::rtps::PublicationBuiltinTopicData::type_name
fastcdr::string_255 type_name
Type name.
Definition PublicationBuiltinTopicData.hpp:66
eprosima::fastdds::rtps::PublicationBuiltinTopicData::PublicationBuiltinTopicData
FASTDDS_EXPORTED_API PublicationBuiltinTopicData(const size_t max_unicast_locators, const size_t max_multicast_locators, const VariableLengthDataLimits &data_limits)
eprosima::fastdds::rtps::PublicationBuiltinTopicData::transport_priority
fastcdr::optional< dds::TransportPriorityQosPolicy > transport_priority
Transport priority Qos.
Definition PublicationBuiltinTopicData.hpp:148
eprosima::fastdds::rtps::PublicationBuiltinTopicData::resource_limits
fastcdr::optional< dds::ResourceLimitsQosPolicy > resource_limits
Resource limits Qos.
Definition PublicationBuiltinTopicData.hpp:145
eprosima::fastdds::rtps::PublicationBuiltinTopicData::latency_budget
dds::LatencyBudgetQosPolicy latency_budget
Latency Budget Qos, NOT implemented in the library.
Definition PublicationBuiltinTopicData.hpp:83
eprosima::fastdds::rtps::PublicationBuiltinTopicData::properties
ParameterPropertyList_t properties
Property list.
Definition PublicationBuiltinTopicData.hpp:184
eprosima::fastdds::rtps::PublicationBuiltinTopicData::guid
GUID_t guid
GUID.
Definition PublicationBuiltinTopicData.hpp:166
eprosima::fastdds::rtps::PublicationBuiltinTopicData::topic_data
dds::TopicDataQosPolicy topic_data
Topic Data Qos, NOT implemented in the library.
Definition PublicationBuiltinTopicData.hpp:115
eprosima::fastdds::rtps::PublicationBuiltinTopicData::rtps_reliable_writer
fastcdr::optional< dds::RTPSReliableWriterQos > rtps_reliable_writer
Reliable writer qos policy.
Definition PublicationBuiltinTopicData.hpp:157
eprosima::fastdds::rtps::PublicationBuiltinTopicData::reliability
dds::ReliabilityQosPolicy reliability
Reliability Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:89
eprosima::fastdds::rtps::PublicationBuiltinTopicData::remote_locators
RemoteLocatorList remote_locators
Remote locators.
Definition PublicationBuiltinTopicData.hpp:175
eprosima::fastdds::rtps::PublicationBuiltinTopicData::participant_guid
GUID_t participant_guid
Participant GUID.
Definition PublicationBuiltinTopicData.hpp:172
eprosima::fastdds::rtps::PublicationBuiltinTopicData::liveliness
dds::LivelinessQosPolicy liveliness
Liveliness Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:86
eprosima::fastdds::rtps::PublicationBuiltinTopicData::representation
dds::DataRepresentationQosPolicy representation
Data representation.
Definition PublicationBuiltinTopicData.hpp:126
eprosima::fastdds::rtps::PublicationBuiltinTopicData::ownership
dds::OwnershipQosPolicy ownership
Ownership Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:98
eprosima::fastdds::rtps::PublicationBuiltinTopicData::writer_resource_limits
fastcdr::optional< dds::WriterResourceLimitsQos > writer_resource_limits
Writer resource limits qos policy.
Definition PublicationBuiltinTopicData.hpp:163
eprosima::fastdds::rtps::PublicationBuiltinTopicData::history
fastcdr::optional< dds::HistoryQosPolicy > history
History Qos, kind and depth.
Definition PublicationBuiltinTopicData.hpp:142
eprosima::fastdds::rtps::PublicationBuiltinTopicData::ownership_strength
dds::OwnershipStrengthQosPolicy ownership_strength
Ownership Strength Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:101
eprosima::fastdds::rtps::PublicationBuiltinTopicData::max_serialized_size
uint32_t max_serialized_size
Maximum serialized size of data type.
Definition PublicationBuiltinTopicData.hpp:178
eprosima::fastdds::rtps::PublicationBuiltinTopicData::related_datareader_key
GUID_t related_datareader_key
Definition PublicationBuiltinTopicData.hpp:131
eprosima::fastdds::rtps::PublicationBuiltinTopicData::durability_service
dds::DurabilityServiceQosPolicy durability_service
Durability Service Qos, NOT implemented in the library.
Definition PublicationBuiltinTopicData.hpp:77
eprosima::fastdds::rtps::PublicationBuiltinTopicData::disable_positive_acks
dds::DisablePositiveACKsQosPolicy disable_positive_acks
Disable positive acks, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:136
eprosima::fastdds::rtps::PublicationBuiltinTopicData::writer_data_lifecycle
fastcdr::optional< dds::WriterDataLifecycleQosPolicy > writer_data_lifecycle
Writer data lifecycle Qos.
Definition PublicationBuiltinTopicData.hpp:151
eprosima::fastdds::rtps::PublicationBuiltinTopicData::presentation
dds::PresentationQosPolicy presentation
Presentation Qos, NOT implemented in the library.
Definition PublicationBuiltinTopicData.hpp:109
eprosima::fastdds::rtps::PublicationBuiltinTopicData::data_sharing
dds::DataSharingQosPolicy data_sharing
Information for data sharing compatibility check.
Definition PublicationBuiltinTopicData.hpp:139
eprosima::fastdds::rtps::PublicationBuiltinTopicData::participant_key
BuiltinTopicKey_t participant_key
Builtin participant topic Key.
Definition PublicationBuiltinTopicData.hpp:60
eprosima::fastdds::rtps::PublicationBuiltinTopicData::key
BuiltinTopicKey_t key
Builtin topic Key.
Definition PublicationBuiltinTopicData.hpp:57
eprosima::fastdds::rtps::PublicationBuiltinTopicData::publish_mode
fastcdr::optional< dds::PublishModeQosPolicy > publish_mode
Publish mode qos policy.
Definition PublicationBuiltinTopicData.hpp:154
eprosima::fastdds::rtps::PublicationBuiltinTopicData::group_data
dds::GroupDataQosPolicy group_data
Group Data Qos, implemented in the library.
Definition PublicationBuiltinTopicData.hpp:118
eprosima::fastdds::rtps::PublicationBuiltinTopicData::topic_name
fastcdr::string_255 topic_name
Topic name.
Definition PublicationBuiltinTopicData.hpp:63
eprosima::fastdds::rtps::RemoteLocatorList
Holds information about the locators of a remote entity.
Definition RemoteLocators.hpp:34
eprosima::fastdds::rtps::VariableLengthDataLimits
Holds limits for variable-length data.
Definition RTPSParticipantAllocationAttributes.hpp:105