2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
42#ifndef CORE_POLL_DESCRIPTOREVENTDISPATCHER_H
43#define CORE_POLL_DESCRIPTOREVENTDISPATCHER_H
45#include "core/DescriptorEventPublisher.h"
47namespace core::multiplexer::
poll {
51#ifndef DOXYGEN_SHOULD_SKIP_THIS
57namespace core::multiplexer::
poll {
65 void muxDel(
int fd)
override;
virtual void spanActiveEvents()=0
int getRegisteredFd() const
std::array< DescriptorEventPublisher *, 3 > descriptorEventPublishers
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
VarSizeTypeAllocator(const VarSizeTypeAllocator< U, S > &) noexcept
void construct(U *p, Args &&... args)
void destroy(U *p) noexcept
size_type max_size() const noexcept
VarSizeTypeAllocator(const VarSizeTypeAllocator &) noexcept=default
void deallocate(pointer p, size_type) noexcept
bool operator==(const VarSizeTypeAllocator< U, S > &) const noexcept
pointer allocate(size_type n)
bool operator!=(const VarSizeTypeAllocator< U, S > &) const noexcept
VarSizeTypeAllocator() noexcept
void muxOff(const DescriptorEventReceiver *eventReceiver, short event)
void muxAdd(core::DescriptorEventReceiver *eventReceiver, short event)
pollfdindex_map pollFdIndices
void muxDel(int fd, short event)
nfds_t getCurrentSize() const
const pollfdindex_map & getPollFdIndices() const
void muxOn(const core::DescriptorEventReceiver *eventReceiver, short event)
timespec getTimespec() const
pollfd_vector::size_type index