SNode.C
Loading...
Searching...
No Matches
core::multiplexer::poll::EventMultiplexer Class Reference

#include <EventMultiplexer.h>

Inheritance diagram for core::multiplexer::poll::EventMultiplexer:
Collaboration diagram for core::multiplexer::poll::EventMultiplexer:

Public Member Functions

 EventMultiplexer ()
 
 ~EventMultiplexer () override=default
 
- Public Member Functions inherited from core::EventMultiplexer
 EventMultiplexer (DescriptorEventPublisher *readDescriptorEventPublisher, DescriptorEventPublisher *writeDescriptorEventPublisher, DescriptorEventPublisher *exceptionDescriptorEventPublisher)
 
 EventMultiplexer (const EventMultiplexer &)=delete
 
EventMultiplexeroperator= (const EventMultiplexer &)=delete
 
DescriptorEventPublishergetDescriptorEventPublisher (DISP_TYPE dispType)
 
TimerEventPublishergetTimerEventPublisher ()
 
void span (core::Event *event)
 
void relax (core::Event *event)
 
void signal (int sigNum)
 
void terminate ()
 
void clearEventQueue ()
 
TickStatus tick (const utils::Timeval &tickTimeOut, const sigset_t &sigMask)
 

Private Member Functions

int monitorDescriptors (utils::Timeval &tickTimeOut, const sigset_t &sigMask) override
 
void spanActiveEvents (int activeDescriptorCount) override
 

Private Attributes

PollFdsManager pollFdsManager
 

Additional Inherited Members

- Public Types inherited from core::EventMultiplexer
enum  DISP_TYPE { RD = 0 , WR = 1 , EX = 2 }
 
- Protected Member Functions inherited from core::EventMultiplexer
int maxFd ()
 
- Protected Attributes inherited from core::EventMultiplexer
std::array< DescriptorEventPublisher *, 3 > descriptorEventPublishers
 

Detailed Description

Definition at line 179 of file EventMultiplexer.h.

Constructor & Destructor Documentation

◆ EventMultiplexer()

core::multiplexer::poll::EventMultiplexer::EventMultiplexer ( )

Definition at line 152 of file EventMultiplexer.cpp.

155 POLLIN,
156 POLLIN | POLLHUP | POLLRDHUP | POLLERR),
159 POLLOUT,
160 POLLOUT),
163 POLLPRI,
164 POLLPRI)) {
165 LOG(DEBUG) << "Core::multiplexer: poll";
166 }

References EventMultiplexer().

Referenced by EventMultiplexer().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~EventMultiplexer()

core::multiplexer::poll::EventMultiplexer::~EventMultiplexer ( )
overridevirtualdefault

Reimplemented from core::EventMultiplexer.

Member Function Documentation

◆ monitorDescriptors()

int core::multiplexer::poll::EventMultiplexer::monitorDescriptors ( utils::Timeval tickTimeOut,
const sigset_t &  sigMask 
)
overrideprivatevirtual

Implements core::EventMultiplexer.

Definition at line 168 of file EventMultiplexer.cpp.

168 {
169 const timespec timeSpec = tickTimeOut.getTimespec();
170
172 }
timespec getTimespec() const
Definition Timeval.cpp:173
int ppoll(struct pollfd *fds, nfds_t nfds, const timespec *timeout, const sigset_t *sigMask)
Definition poll.cpp:59

References utils::Timeval::getTimespec().

Here is the call graph for this function:

◆ spanActiveEvents()

void core::multiplexer::poll::EventMultiplexer::spanActiveEvents ( int  activeDescriptorCount)
overrideprivatevirtual

Implements core::EventMultiplexer.

Definition at line 174 of file EventMultiplexer.cpp.

174 {
175 if (activeDescriptorCount > 0) {
176 for (core::DescriptorEventPublisher* const descriptorEventPublisher : descriptorEventPublishers) {
177 descriptorEventPublisher->spanActiveEvents();
178 }
179 }
180 }
std::array< DescriptorEventPublisher *, 3 > descriptorEventPublishers

References core::EventMultiplexer::descriptorEventPublishers, and core::DescriptorEventPublisher::spanActiveEvents().

Here is the call graph for this function:

Member Data Documentation

◆ pollFdsManager

PollFdsManager core::multiplexer::poll::EventMultiplexer::pollFdsManager
private

Definition at line 188 of file EventMultiplexer.h.


The documentation for this class was generated from the following files: