Moved to boost logging
This commit is contained in:
parent
a1ec9f731d
commit
58020fb3ba
27 changed files with 531 additions and 294 deletions
|
@ -12,8 +12,8 @@
|
|||
|
||||
#include "shared/definitions.h"
|
||||
|
||||
Loop::Loop(const Shared::Logger& logger):
|
||||
Shared::Loggable(logger, {"Loop"}),
|
||||
Loop::Loop(const Log::Logger& logger):
|
||||
Log::Loggable(logger, {"Loop"}),
|
||||
wakePipe(),
|
||||
handlers(),
|
||||
handlersToAdd(),
|
||||
|
@ -80,16 +80,15 @@ void Loop::stop() {
|
|||
debug("stopping the loop");
|
||||
wake();
|
||||
}
|
||||
|
||||
void Loop::addDescriptor(int descriptor, const Callback& handler) {
|
||||
void Loop::addDescriptor(int descriptor, Callback&& handler) {
|
||||
std::lock_guard lock(mutex);
|
||||
|
||||
if (handlers.count(descriptor) != 0) {
|
||||
if (handlers.contains(descriptor)) {
|
||||
warn("an attempt to add descriptor " + std::to_string(descriptor) + " for the second time");
|
||||
return;
|
||||
}
|
||||
|
||||
if (!handlersToAdd.emplace(descriptor, handler).second) {
|
||||
if (!handlersToAdd.emplace(descriptor, std::forward<Callback>(handler)).second) {
|
||||
warn("an attempt to add descriptor " + std::to_string(descriptor) + " for the second time");
|
||||
return;
|
||||
}
|
||||
|
@ -116,13 +115,13 @@ void Loop::removeDescriptor(int descriptor) {
|
|||
wake();
|
||||
}
|
||||
|
||||
void Loop::wake() {
|
||||
void Loop::wake() const {
|
||||
char w = 'w';
|
||||
if (write(wakePipe[1], &w, 1) < 0 && errno != EAGAIN)
|
||||
error("failed to wake up event loop: " + std::string(strerror(errno)));
|
||||
}
|
||||
|
||||
void Loop::drain(fd_set* readfds) {
|
||||
void Loop::drain(fd_set* readfds) const {
|
||||
if (!FD_ISSET(wakePipe[0], readfds))
|
||||
return;
|
||||
|
||||
|
@ -145,7 +144,7 @@ void Loop::drain(fd_set* readfds) {
|
|||
}
|
||||
}
|
||||
|
||||
void Loop::runCallbacks(fd_set* readfds) {
|
||||
void Loop::runCallbacks(fd_set* readfds) const {
|
||||
for (const std::pair<const int, Callback>& pair : handlers) {
|
||||
if (!FD_ISSET(pair.first, readfds))
|
||||
continue;
|
||||
|
@ -160,7 +159,7 @@ void Loop::runCallbacks(fd_set* readfds) {
|
|||
}
|
||||
}
|
||||
|
||||
int Loop::setFDsAndFindMax(fd_set* readfds) {
|
||||
int Loop::setFDsAndFindMax(fd_set* readfds) const {
|
||||
FD_ZERO(readfds);
|
||||
FD_SET(wakePipe[0], readfds);
|
||||
|
||||
|
@ -188,7 +187,7 @@ void Loop::syncHandlers() {
|
|||
|
||||
void Loop::registerInstance(Loop* loop) {
|
||||
std::lock_guard lock(instanceMutex);
|
||||
if (instances.size() == 0) {
|
||||
if (instances.empty()) {
|
||||
std::signal(SIGINT, signalHandler);
|
||||
std::signal(SIGTERM, signalHandler);
|
||||
}
|
||||
|
@ -200,7 +199,7 @@ void Loop::unregisterInstance(Loop* loop) {
|
|||
std::lock_guard lock(instanceMutex);
|
||||
instances.erase(loop);
|
||||
|
||||
if (instances.size() == 0) {
|
||||
if (instances.empty()) {
|
||||
std::signal(SIGINT, SIG_DFL);
|
||||
std::signal(SIGTERM, SIG_DFL);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue