This commit is contained in:
Brad Arant committed 2022-01-24 18:36:47 -08:00
1 parent 96d9295df8
commit 3ef82e0fce
14 files changed
+159 -115

No files matched your search

+10 -2
View File
@@ -2,7 +2,15 @@
namespace core {
Subscription::Subscription(std::string id, TCPSession &session) : id(id), owner(&session) {}
Subscription::Subscription(std::string id, TCPSession &session) : id(id), owner(session) {}
Subscription::~Subscription() {
std::stringstream out;
out << "cancel:" << id << std::endl;
for(auto subscriber : subscribers) {
subscriber->write(out.str());
}
}
int Subscription::subscribe(TCPSession &session) {
subscribers.push_back(&session);
@@ -12,7 +20,7 @@ namespace core {
int Subscription::unsubscribe(TCPSession &session) {
for(auto subscriber = subscribers.begin(); subscriber < subscribers.end(); ++subscriber) {
if(*subscriber == &session) {
subscribers.erase(subscriber);
subscribers.erase(subscriber++);
return 1;
}
}