SNode.C
|
#include <DescriptorEventPublisher.h>
Public Member Functions | |
DescriptorEventPublisher ()=delete | |
virtual | ~DescriptorEventPublisher () |
DescriptorEventPublisher (const DescriptorEventPublisher &)=delete | |
DescriptorEventPublisher & | operator= (const DescriptorEventPublisher &)=delete |
void | enable (DescriptorEventReceiver *descriptorEventReceiver) |
void | disable (DescriptorEventReceiver *descriptorEventReceiver) |
void | suspend (DescriptorEventReceiver *descriptorEventReceiver) |
void | resume (DescriptorEventReceiver *descriptorEventReceiver) |
virtual void | spanActiveEvents ()=0 |
void | checkTimedOutEvents (const utils::Timeval ¤tTime) |
void | releaseDisabledEvents (const utils::Timeval ¤tTime) |
int | getObservedEventReceiverCount () const |
int | maxFd () const |
utils::Timeval | getNextTimeout (const utils::Timeval ¤tTime) const |
void | signal (int sigNum) |
void | disable () |
const std::string & | getName () const |
Protected Member Functions | |
DescriptorEventPublisher (std::string name) | |
Protected Attributes | |
std::map< int, std::list< DescriptorEventReceiver * > > | observedEventReceiverLists |
unsigned long | eventCounter = 0 |
Private Member Functions | |
virtual void | muxAdd (DescriptorEventReceiver *descriptorEventReceiver)=0 |
virtual void | muxDel (int fd)=0 |
virtual void | muxOn (DescriptorEventReceiver *descriptorEventReceiver)=0 |
virtual void | muxOff (DescriptorEventReceiver *descriptorEventReceiver)=0 |
Private Attributes | |
std::string | name |
std::map< std::list< DescriptorEventReceiver * > *, std::list< DescriptorEventReceiver * > > | dirtyEventReceiverLists |
Definition at line 63 of file DescriptorEventPublisher.h.
|
protected |
Definition at line 58 of file DescriptorEventPublisher.cpp.
References name.
Referenced by core::multiplexer::poll::DescriptorEventPublisher::DescriptorEventPublisher(), core::multiplexer::select::DescriptorEventPublisher::DescriptorEventPublisher(), and core::multiplexer::epoll::DescriptorEventPublisher::DescriptorEventPublisher().
|
delete |
|
virtual |
Definition at line 62 of file DescriptorEventPublisher.cpp.
|
delete |
void core::DescriptorEventPublisher::checkTimedOutEvents | ( | const utils::Timeval & | currentTime | ) |
Definition at line 90 of file DescriptorEventPublisher.cpp.
References core::DescriptorEventReceiver::checkTimeout(), and observedEventReceiverLists.
Referenced by core::EventMultiplexer::checkTimedOutEvents().
void core::DescriptorEventPublisher::disable | ( | ) |
Definition at line 160 of file DescriptorEventPublisher.cpp.
References core::DescriptorEventReceiver::disable(), and observedEventReceiverLists.
Referenced by core::EventMultiplexer::terminate().
void core::DescriptorEventPublisher::disable | ( | DescriptorEventReceiver * | descriptorEventReceiver | ) |
Definition at line 76 of file DescriptorEventPublisher.cpp.
References dirtyEventReceiverLists, core::DescriptorEventReceiver::getRegisteredFd(), and observedEventReceiverLists.
Referenced by core::DescriptorEventReceiver::disable().
void core::DescriptorEventPublisher::enable | ( | DescriptorEventReceiver * | descriptorEventReceiver | ) |
Definition at line 65 of file DescriptorEventPublisher.cpp.
References utils::Timeval::currentTime(), core::DescriptorEventReceiver::getRegisteredFd(), core::DescriptorEventReceiver::isSuspended(), muxAdd(), muxOff(), observedEventReceiverLists, and core::DescriptorEventReceiver::setEnabled().
Referenced by core::DescriptorEventReceiver::enable().
const std::string & core::DescriptorEventPublisher::getName | ( | ) | const |
Definition at line 168 of file DescriptorEventPublisher.cpp.
References name.
utils::Timeval core::DescriptorEventPublisher::getNextTimeout | ( | const utils::Timeval & | currentTime | ) | const |
Definition at line 138 of file DescriptorEventPublisher.cpp.
References dirtyEventReceiverLists, core::DescriptorEventReceiver::getTimeout(), core::DescriptorEventReceiver::TIMEOUT::MAX, observedEventReceiverLists, and utils::Timeval::operator=().
Referenced by core::EventMultiplexer::getNextTimeout().
int core::DescriptorEventPublisher::getObservedEventReceiverCount | ( | ) | const |
Definition at line 124 of file DescriptorEventPublisher.cpp.
References observedEventReceiverLists.
Referenced by core::EventMultiplexer::observedEventReceiverCount().
int core::DescriptorEventPublisher::maxFd | ( | ) | const |
Definition at line 128 of file DescriptorEventPublisher.cpp.
References observedEventReceiverLists.
Referenced by core::EventMultiplexer::maxFd().
|
privatepure virtual |
Implemented in core::multiplexer::epoll::DescriptorEventPublisher, core::multiplexer::poll::DescriptorEventPublisher, and core::multiplexer::select::DescriptorEventPublisher.
Referenced by enable().
|
privatepure virtual |
Implemented in core::multiplexer::epoll::DescriptorEventPublisher, core::multiplexer::poll::DescriptorEventPublisher, and core::multiplexer::select::DescriptorEventPublisher.
Referenced by releaseDisabledEvents().
|
privatepure virtual |
Implemented in core::multiplexer::epoll::DescriptorEventPublisher, core::multiplexer::poll::DescriptorEventPublisher, and core::multiplexer::select::DescriptorEventPublisher.
Referenced by enable(), releaseDisabledEvents(), and suspend().
|
privatepure virtual |
Implemented in core::multiplexer::epoll::DescriptorEventPublisher, core::multiplexer::poll::DescriptorEventPublisher, and core::multiplexer::select::DescriptorEventPublisher.
Referenced by releaseDisabledEvents(), and resume().
|
delete |
void core::DescriptorEventPublisher::releaseDisabledEvents | ( | const utils::Timeval & | currentTime | ) |
Definition at line 96 of file DescriptorEventPublisher.cpp.
References dirtyEventReceiverLists, core::DescriptorEventReceiver::getRegisteredFd(), core::DescriptorEventReceiver::isSuspended(), muxDel(), muxOff(), muxOn(), observedEventReceiverLists, core::DescriptorEventReceiver::setDisabled(), and core::DescriptorEventReceiver::triggered().
Referenced by core::EventMultiplexer::releaseExpiredResources().
void core::DescriptorEventPublisher::resume | ( | DescriptorEventReceiver * | descriptorEventReceiver | ) |
Definition at line 86 of file DescriptorEventPublisher.cpp.
References muxOn().
Referenced by core::DescriptorEventReceiver::resume().
void core::DescriptorEventPublisher::signal | ( | int | sigNum | ) |
Definition at line 152 of file DescriptorEventPublisher.cpp.
References observedEventReceiverLists, and core::DescriptorEventReceiver::onSignal().
Referenced by core::EventMultiplexer::signal().
|
pure virtual |
Implemented in core::multiplexer::epoll::DescriptorEventPublisher, core::multiplexer::poll::DescriptorEventPublisher, and core::multiplexer::select::DescriptorEventPublisher.
Referenced by core::multiplexer::epoll::EventMultiplexer::spanActiveEvents(), core::multiplexer::poll::EventMultiplexer::spanActiveEvents(), and core::multiplexer::select::EventMultiplexer::spanActiveEvents().
void core::DescriptorEventPublisher::suspend | ( | DescriptorEventReceiver * | descriptorEventReceiver | ) |
Definition at line 82 of file DescriptorEventPublisher.cpp.
References muxOff().
Referenced by core::DescriptorEventReceiver::suspend().
|
private |
Definition at line 106 of file DescriptorEventPublisher.h.
Referenced by disable(), getNextTimeout(), and releaseDisabledEvents().
|
protected |
|
private |
Definition at line 105 of file DescriptorEventPublisher.h.
Referenced by DescriptorEventPublisher(), and getName().
|
protected |
Definition at line 96 of file DescriptorEventPublisher.h.
Referenced by checkTimedOutEvents(), disable(), disable(), enable(), getNextTimeout(), getObservedEventReceiverCount(), maxFd(), releaseDisabledEvents(), signal(), core::multiplexer::poll::DescriptorEventPublisher::spanActiveEvents(), and core::multiplexer::select::DescriptorEventPublisher::spanActiveEvents().