7 #if !defined(MQTT_TOPIC_ALIAS_MAP_HPP)
8 #define MQTT_TOPIC_ALIAS_MAP_HPP
14 #include <boost/multi_index_container.hpp>
15 #include <boost/multi_index/ordered_index.hpp>
16 #include <boost/multi_index/member.hpp>
29 BOOST_ASSERT(alias > 0);
33 <<
"register_topic_alias"
35 <<
" alias:" << alias;
41 m[alias] = std::string(topic);
46 BOOST_ASSERT(alias > 0);
49 auto it = m.find(alias);
50 if (it != m.end()) topic = it->second;
54 <<
"find_topic_by_alias"
56 <<
" topic:" << topic;
64 <<
"clear_topic_alias";
#define MQTT_LOG(chan, sev)
Definition: log.hpp:135
#define MQTT_ADD_VALUE(name, val)
Definition: log.hpp:136
std::map< topic_alias_t, std::string > topic_alias_map_t
Definition: topic_alias_map.hpp:26
boost::string_ref string_view
Definition: string_view.hpp:64
void register_topic_alias(topic_alias_map_t &m, string_view topic, topic_alias_t alias)
Definition: topic_alias_map.hpp:28
std::uint16_t topic_alias_t
Definition: type.hpp:17
void clear_topic_alias(topic_alias_map_t &m)
Definition: topic_alias_map.hpp:61
std::string find_topic_by_alias(topic_alias_map_t const &m, topic_alias_t alias)
Definition: topic_alias_map.hpp:45