Fast DDS  Version 3.6.1.0
Fast DDS
Loading...
Searching...
No Matches
OriginalWriterInfo.hpp
1// Copyright 2025 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_COMMON__ORIGINALWRITERINFO_HPP
20#define FASTDDS_RTPS_COMMON__ORIGINALWRITERINFO_HPP
21
22#include <fastdds/rtps/common/Guid.hpp>
23#include <fastdds/rtps/common/SequenceNumber.hpp>
24
25namespace eprosima {
26namespace fastdds {
27namespace rtps {
28
29
30class FASTDDS_EXPORTED_API OriginalWriterInfo
31{
32public:
33
34 OriginalWriterInfo() = default;
35
39 : original_writer_guid_(original_writer_guid)
40 , sequence_number_(sequence_number)
41 {
42 }
43
47 : original_writer_guid_(std::move(original_writer_guid))
48 , sequence_number_(std::move(sequence_number))
49 {
50 }
51
53 const OriginalWriterInfo& other) = default;
54
56 OriginalWriterInfo&& other) = default;
57
58 OriginalWriterInfo& operator =(
59 const OriginalWriterInfo& other) = default;
60
61 OriginalWriterInfo& operator =(
62 OriginalWriterInfo&& other) = default;
63
64
66 {
67 return original_writer_guid_;
68 }
69
71 {
72 return original_writer_guid_;
73 }
74
76 const GUID_t& guid)
77 {
78 original_writer_guid_ = guid;
79 }
80
82 GUID_t&& guid)
83 {
84 original_writer_guid_ = std::move(guid);
85 }
86
88 {
89 return sequence_number_;
90 }
91
93 {
94 return sequence_number_;
95 }
96
98 const SequenceNumber_t& seq)
99 {
100 sequence_number_ = seq;
101 }
102
104 SequenceNumber_t&& seq)
105 {
106 sequence_number_ = std::move(seq);
107 }
108
110 {
111 return OriginalWriterInfo();
112 }
113
114 bool operator ==(
115 const OriginalWriterInfo& other) const
116 {
117 return (original_writer_guid_ == other.original_writer_guid_) &&
118 (sequence_number_ == other.sequence_number_);
119 }
120
121 bool operator !=(
122 const OriginalWriterInfo& other) const
123 {
124 return !(*this == other);
125 }
126
127private:
128
129 GUID_t original_writer_guid_ = GUID_t::unknown();
130
131 SequenceNumber_t sequence_number_ = SequenceNumber_t::unknown();
132};
133
134} //namespace rtps
135} //namespace fastdds
136} //namespace eprosima
137#endif // ifndef FASTDDS_RTPS_COMMON__ORIGINALWRITERINFO_HPP
GUID_t & original_writer_guid()
Definition OriginalWriterInfo.hpp:70
static OriginalWriterInfo unknown()
Definition OriginalWriterInfo.hpp:109
OriginalWriterInfo(OriginalWriterInfo &&other)=default
void sequence_number(SequenceNumber_t &&seq)
Definition OriginalWriterInfo.hpp:103
const GUID_t & original_writer_guid() const
Definition OriginalWriterInfo.hpp:65
void original_writer_guid(GUID_t &&guid)
Definition OriginalWriterInfo.hpp:81
void sequence_number(const SequenceNumber_t &seq)
Definition OriginalWriterInfo.hpp:97
void original_writer_guid(const GUID_t &guid)
Definition OriginalWriterInfo.hpp:75
OriginalWriterInfo(GUID_t &&original_writer_guid, SequenceNumber_t &&sequence_number)
Definition OriginalWriterInfo.hpp:44
OriginalWriterInfo(const OriginalWriterInfo &other)=default
SequenceNumber_t & sequence_number()
Definition OriginalWriterInfo.hpp:92
const SequenceNumber_t & sequence_number() const
Definition OriginalWriterInfo.hpp:87
OriginalWriterInfo(const GUID_t &original_writer_guid, const SequenceNumber_t &sequence_number)
Definition OriginalWriterInfo.hpp:36
Contains the RTPS protocol implementation.
eProsima namespace.
Definition EntityId_t.hpp:388
Structure GUID_t, entity identifier, unique in DDS-RTPS Domain.
Definition Guid.hpp:40
static GUID_t unknown() noexcept
Definition Guid.hpp:138
Structure SequenceNumber_t, different for each change in the same writer.
Definition SequenceNumber.hpp:38
static SequenceNumber_t unknown() noexcept
Definition SequenceNumber.hpp:123