| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | // Copyright Takatoshi Kondo 2020//// Distributed under the Boost Software License, Version 1.0.// (See accompanying file LICENSE_1_0.txt or copy at// http://www.boost.org/LICENSE_1_0.txt)#if !defined(MQTT_BROKER_RETAIN_T_HPP)#define MQTT_BROKER_RETAIN_T_HPP#include <mqtt/config.hpp>#include <boost/asio/steady_timer.hpp>#include <mqtt/broker/broker_namespace.hpp>#include <mqtt/buffer.hpp>#include <mqtt/property_variant.hpp>#include <mqtt/subscribe_options.hpp>MQTT_BROKER_NS_BEGINstruct session_state;// A collection of messages that have been retained in// case clients add a new subscription to the associated topics.struct retain_t {    retain_t(        buffer topic,        buffer contents,        v5::properties props,        qos qos_value,        std::shared_ptr<as::steady_timer> tim_message_expiry = std::shared_ptr<as::steady_timer>())        :topic(force_move(topic)),         contents(force_move(contents)),         props(force_move(props)),         qos_value(qos_value),         tim_message_expiry(force_move(tim_message_expiry))    { }    buffer topic;    buffer contents;    v5::properties props;    qos qos_value;    std::shared_ptr<as::steady_timer> tim_message_expiry;};MQTT_BROKER_NS_END#endif // MQTT_BROKER_RETAIN_T_HPP
 |