| Fast DDS Version 3.3.0 Fast DDS

Loading...
Searching...
No Matches
InstanceState.hpp
1// Copyright 2020 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_DDS_SUBSCRIBER__INSTANCESTATE_HPP
20#define FASTDDS_DDS_SUBSCRIBER__INSTANCESTATE_HPP
21
22#include <cstdint>
23
24 namespace eprosima {
25 namespace fastdds {
26 namespace dds {
27
63 enum InstanceStateKind : uint16_t
64{
66 ALIVE_INSTANCE_STATE = 0x0001 << 0,
68 NOT_ALIVE_DISPOSED_INSTANCE_STATE = 0x0001 << 1,
71 NOT_ALIVE_NO_WRITERS_INSTANCE_STATE = 0x0001 << 2
72};
73
75 using InstanceStateMask = uint16_t;
76
78 constexpr InstanceStateMask NOT_ALIVE_INSTANCE_STATE =
79 NOT_ALIVE_DISPOSED_INSTANCE_STATE | NOT_ALIVE_NO_WRITERS_INSTANCE_STATE;
81 constexpr InstanceStateMask ANY_INSTANCE_STATE = ALIVE_INSTANCE_STATE | NOT_ALIVE_INSTANCE_STATE;
82
83} // namespace dds
84} // namespace fastdds
85} // namespace eprosima
86
87#endif // FASTDDS_DDS_SUBSCRIBER__INSTANCESTATE_HPP
eprosima::fastdds::dds
Definition BuiltinTopicKey.hpp:26
eprosima::fastdds::dds::NOT_ALIVE_INSTANCE_STATE
constexpr InstanceStateMask NOT_ALIVE_INSTANCE_STATE
Not alive instance state.
Definition InstanceState.hpp:78
eprosima::fastdds::dds::ANY_INSTANCE_STATE
constexpr InstanceStateMask ANY_INSTANCE_STATE
Any instance state.
Definition InstanceState.hpp:81
eprosima::fastdds::dds::InstanceStateKind
InstanceStateKind
Indicates if the samples are from an alive DataWriter or not.
Definition InstanceState.hpp:64
eprosima::fastdds::dds::ALIVE_INSTANCE_STATE
@ ALIVE_INSTANCE_STATE
Instance is currently in existence.
Definition InstanceState.hpp:66
eprosima::fastdds::dds::NOT_ALIVE_NO_WRITERS_INSTANCE_STATE
@ NOT_ALIVE_NO_WRITERS_INSTANCE_STATE
Not alive no writers for instance.
Definition InstanceState.hpp:71
eprosima::fastdds::dds::NOT_ALIVE_DISPOSED_INSTANCE_STATE
@ NOT_ALIVE_DISPOSED_INSTANCE_STATE
Not alive disposed instance. The instance has been disposed by a DataWriter.
Definition InstanceState.hpp:68
eprosima::fastdds::dds::InstanceStateMask
uint16_t InstanceStateMask
A bit-mask (list) of instance states, i.e. InstanceStateKind.
Definition InstanceState.hpp:75
eprosima::fastdds
eprosima
eProsima namespace.