Example MQTT node - Hyp-ed/hyped-2024 GitHub Wiki

An MQTT node consists of an infinite loop:

void Example::run()
{
  while (true /* or you may have a better exit condition */) {
    mqtt_->consume();
    const auto message = mqtt_.getMessage();
    if (!message) { continue; }
    const auto message = *message;
    if (message.topic == kStateMachine) {
      logger_.log(kFatal, "Received shutdown message");
      break;
    }
    elif (message.topic == kIncomingData)
    {
      const auto result_message = process(message);
      mqtt_->publish(result_message)
    }
    // there will be a core function for cross platform sleep soon
    std::this_thread::sleep_for(std::chrono::milliseconds(10));
  }
}
⚠️ **GitHub.com Fallback** ⚠️