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_DESCRIPTOREVENTPUBLISHER_H
43#define CORE_DESCRIPTOREVENTPUBLISHER_H
53#ifndef DOXYGEN_SHOULD_SKIP_THIS
93 const std::string&
getName()
const;
virtual void muxAdd(DescriptorEventReceiver *descriptorEventReceiver)=0
utils::Timeval getNextTimeout(const utils::Timeval ¤tTime) const
void checkTimedOutEvents(const utils::Timeval ¤tTime)
virtual void muxDel(int fd)=0
virtual ~DescriptorEventPublisher()
DescriptorEventPublisher(const DescriptorEventPublisher &)=delete
virtual void muxOff(DescriptorEventReceiver *descriptorEventReceiver)=0
DescriptorEventPublisher & operator=(const DescriptorEventPublisher &)=delete
void releaseDisabledEvents(const utils::Timeval ¤tTime)
DescriptorEventPublisher()=delete
int getObservedEventReceiverCount() const
virtual void muxOn(DescriptorEventReceiver *descriptorEventReceiver)=0
void disable(DescriptorEventReceiver *descriptorEventReceiver)
virtual void spanActiveEvents()=0
DescriptorEventPublisher(std::string name)
void enable(DescriptorEventReceiver *descriptorEventReceiver)
std::map< int, std::list< DescriptorEventReceiver * > > observedEventReceiverLists
void suspend(DescriptorEventReceiver *descriptorEventReceiver)
std::map< std::list< DescriptorEventReceiver * > *, std::list< DescriptorEventReceiver * > > dirtyEventReceiverLists
const std::string & getName() const
void resume(DescriptorEventReceiver *descriptorEventReceiver)
unsigned long eventCounter
utils::Timeval lastTriggered
virtual void timeoutEvent()=0
const utils::Timeval initialTimeout
DescriptorEventReceiver(const std::string &name, DescriptorEventPublisher &descriptorEventPublisher, const utils::Timeval &timeout=TIMEOUT::DISABLE)
utils::Timeval maxInactivity
void onSignal(int signum)
void triggered(const utils::Timeval ¤tTime)
virtual void dispatchEvent()=0
DescriptorEventPublisher & descriptorEventPublisher
int getRegisteredFd() const
void setEnabled(const utils::Timeval ¤tTime)
void onEvent(const utils::Timeval ¤tTime) final
void setTimeout(const utils::Timeval &timeout)
virtual void signalEvent(int signum)=0
void checkTimeout(const utils::Timeval ¤tTime)
utils::Timeval getTimeout(const utils::Timeval ¤tTime) const
const std::string & getName() const
EventReceiver(const std::string &name)
virtual void unobservedEvent()=0
bool operator>(const Timeval &timeVal) const
static Timeval currentTime()
Timeval operator-(const Timeval &timeVal) const
bool operator==(const Timeval &timeVal) const
Timeval & operator=(const Timeval &timeVal)
bool operator>=(const Timeval &timeVal) const
Timeval(const Timeval &timeVal) noexcept=default
static const utils::Timeval MAX
static const utils::Timeval DISABLE
static const utils::Timeval DEFAULT