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#include "core/DescriptorEventPublisher.h" 
   44#include "core/DescriptorEventReceiver.h" 
   46#ifndef DOXYGEN_SHOULD_SKIP_THIS 
   48#include "utils/Timeval.h" 
   59        : 
name(std::move(name)) {
 
   99                dirtyDescriptEventReceiverList->remove(disabledDescriptorEventReceiver);
 
  101                if (dirtyDescriptEventReceiverList->empty()) {
 
  111                        muxOn(activeDescriptorEventReceiver
);
 
  113                        muxOff(activeDescriptorEventReceiver
);
 
  143                nextTimeout 
= std::min(eventReceivers.front()
->getTimeout(currentTime
), nextTimeout);
 
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()
 
virtual void muxOff(DescriptorEventReceiver *descriptorEventReceiver)=0
 
void releaseDisabledEvents(const utils::Timeval ¤tTime)
 
int getObservedEventReceiverCount() const
 
virtual void muxOn(DescriptorEventReceiver *descriptorEventReceiver)=0
 
void disable(DescriptorEventReceiver *descriptorEventReceiver)
 
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)
 
void onSignal(int signum)
 
void triggered(const utils::Timeval ¤tTime)
 
int getRegisteredFd() const
 
void setEnabled(const utils::Timeval ¤tTime)
 
void checkTimeout(const utils::Timeval ¤tTime)
 
utils::Timeval getTimeout(const utils::Timeval ¤tTime) const
 
static Timeval currentTime()
 
Timeval & operator=(const Timeval &timeVal)
 
static const utils::Timeval MAX