mqtt_cpp
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
subscription.hpp
Go to the documentation of this file.
1 // Copyright Takatoshi Kondo 2020
2 //
3 // Distributed under the Boost Software License, Version 1.0.
4 // (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6 
7 #if !defined(MQTT_BROKER_SUBSCRIPTION_HPP)
8 #define MQTT_BROKER_SUBSCRIPTION_HPP
9 
10 #include <mqtt/config.hpp>
11 
13 #include <mqtt/optional.hpp>
15 #include <mqtt/buffer.hpp>
17 
19 
20 struct subscription {
25  subscribe_options subopts,
26  optional<std::size_t> sid)
27  :ss { ss },
30  subopts { subopts },
31  sid { sid }
32  {}
33 
37  subscribe_options subopts;
38  optional<std::size_t> sid;
39 };
40 
41 inline bool operator<(subscription const& lhs, subscription const& rhs) {
42  return &lhs.ss.get() < &rhs.ss.get();
43 }
44 
46 
47 #endif // MQTT_BROKER_SUBSCRIPTION_HPP
#define MQTT_BROKER_NS_END
Definition: broker_namespace.hpp:22
#define MQTT_BROKER_NS_BEGIN
Definition: broker_namespace.hpp:21
constexpr std::remove_reference_t< T > && force_move(T &&t)
Definition: move.hpp:20
const_buffer buffer(MQTT_NS::buffer const &data)
create boost::asio::const_buffer from the MQTT_NS::buffer boost::asio::const_buffer is a kind of view...
Definition: buffer.hpp:253
std::reference_wrapper< session_state > session_state_ref
Definition: session_state_fwd.hpp:20
Definition: subscription.hpp:20
buffer topic_filter
Definition: subscription.hpp:36
subscription(session_state_ref ss, buffer share_name, buffer topic_filter, subscribe_options subopts, optional< std::size_t > sid)
Definition: subscription.hpp:21
optional< std::size_t > sid
Definition: subscription.hpp:38
subscribe_options subopts
Definition: subscription.hpp:37
session_state_ref ss
Definition: subscription.hpp:34
buffer share_name
Definition: subscription.hpp:35
bool operator<(subscription const &lhs, subscription const &rhs)
Definition: subscription.hpp:41