mirror of
https://github.com/Telecominfraproject/wlan-cloud-owprov.git
synced 2025-10-30 10:12:29 +00:00
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
//
|
|
// Created by stephane bourque on 2022-10-26.
|
|
//
|
|
|
|
#include "framework/EventBusManager.h"
|
|
#include "framework/KafkaManager.h"
|
|
#include "framework/MicroServiceFuncs.h"
|
|
#include "framework/utils.h"
|
|
|
|
namespace OpenWifi {
|
|
|
|
void EventBusManager::run() {
|
|
Running_ = true;
|
|
Utils::SetThreadName("fmwk:EventMgr");
|
|
auto Msg = (MicroServiceMakeSystemEventMessage(KafkaTopics::ServiceEvents::EVENT_JOIN));
|
|
KafkaManager()->PostMessage(KafkaTopics::SERVICE_EVENTS, MicroServicePrivateEndPoint(), Msg,
|
|
false);
|
|
while (Running_) {
|
|
if(!Poco::Thread::trySleep((unsigned long)MicroServiceDaemonBusTimer())) {
|
|
break;
|
|
}
|
|
Msg = (MicroServiceMakeSystemEventMessage(KafkaTopics::ServiceEvents::EVENT_KEEP_ALIVE));
|
|
KafkaManager()->PostMessage(KafkaTopics::SERVICE_EVENTS, MicroServicePrivateEndPoint(),
|
|
Msg, false);
|
|
}
|
|
Msg = (MicroServiceMakeSystemEventMessage(KafkaTopics::ServiceEvents::EVENT_LEAVE));
|
|
KafkaManager()->PostMessage(KafkaTopics::SERVICE_EVENTS, MicroServicePrivateEndPoint(), Msg,
|
|
false);
|
|
};
|
|
|
|
void EventBusManager::Start() {
|
|
poco_information(Logger_, "Starting...");
|
|
if (KafkaManager()->Enabled()) {
|
|
Thread_.start(*this);
|
|
}
|
|
}
|
|
|
|
void EventBusManager::Stop() {
|
|
if (KafkaManager()->Enabled()) {
|
|
poco_information(Logger_, "Stopping...");
|
|
Running_ = false;
|
|
Thread_.wakeUp();
|
|
Thread_.join();
|
|
poco_information(Logger_, "Stopped...");
|
|
}
|
|
}
|
|
|
|
} // namespace OpenWifi
|