10#include <condition_variable>
77 std::shared_ptr<mqtt::async_client> client;
84 std::deque<MessageContainer> queue;
91 std::atomic<int> queue_size;
98 std::mutex queue_mutex;
105 std::condition_variable queue_condition;
113 std::shared_ptr<std::thread> worker;
121 std::atomic<bool> worker_running;
138 void restart_worker(
void);
145 void stop_worker(
void);
157 Publisher(std::string
id,
unsigned int buffer = 1024);
177 bool publish(std::string topic, std::string message,
int qos,
bool retain);
190 bool publish(std::vector<std::string> topics, std::vector<std::string> messages,
int qos,
bool retain);
214 void reconnect(
void);
224 void disconnect(
unsigned int timeout = 10000);
232 void set_root_topic(std::string root_topic);
241 void set_buffer(
unsigned int buffer);
251 bool is_connected(
void);
MQTT publishing configuration.
int min_delay_ms
Minimum delay between to messages in milliseconds.
int min_delay_ms(void)
Minimum delay between to messages in milliseconds.