Handle double subscriptions

This commit is contained in:
Alex Hultman
2019-11-08 12:16:41 +01:00
parent 606d8a793d
commit 37d1cdf29d
+4 -2
View File
@@ -229,11 +229,13 @@ public:
} }
/* Add socket to Topic's Set */ /* Add socket to Topic's Set */
iterator->subs.insert(subscriber); auto [it, inserted] = iterator->subs.insert(subscriber);
/* Add Topic to list of subscriptions */ /* Add Topic to list of subscriptions only if we weren't already subscribed */
if (inserted) {
subscriber->subscriptions.push_back(iterator); subscriber->subscriptions.push_back(iterator);
} }
}
void publish(std::string_view topic, std::string_view message) { void publish(std::string_view topic, std::string_view message) {
publish(root, 0, 0, topic, message); publish(root, 0, 0, topic, message);