2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
20#ifndef CORE_POLL_EVENTDISPATCHER_H
21#define CORE_POLL_EVENTDISPATCHER_H
23#include "core/EventMultiplexer.h"
29#ifndef DOXYGEN_SHOULD_SKIP_THIS
31#include "core/system/poll.h"
33#include <unordered_map>
38namespace core::multiplexer::
poll {
50 void muxDel(
int fd,
short event);
void spanActiveEvents() override
core::multiplexer::poll::PollFdsManager & pollFds
DescriptorEventPublisher(const std::string &name, core::multiplexer::poll::PollFdsManager &pollFds, short events, short revents)
void muxOff(core::DescriptorEventReceiver *eventReceiver) override
void muxDel(int fd) override
void muxAdd(core::DescriptorEventReceiver *eventReceiver) override
void muxOn(core::DescriptorEventReceiver *eventReceiver) override
int monitorDescriptors(utils::Timeval &tickTimeOut, const sigset_t &sigMask) override
PollFdsManager pollFdsManager
void spanActiveEvents(int activeDescriptorCount) override
~EventMultiplexer() override=default
void muxOff(const DescriptorEventReceiver *eventReceiver, short event)
std::vector< pollfd > pollfds
void muxAdd(core::DescriptorEventReceiver *eventReceiver, short event)
const std::unordered_map< int, PollFdIndex > & getPollFdIndices() const
void muxDel(int fd, short event)
nfds_t getCurrentSize() const
std::unordered_map< int, PollFdIndex > pollFdIndices
void muxOn(const core::DescriptorEventReceiver *eventReceiver, short event)
std::vector< pollfd >::size_type index