|
SNode.C
|
#include <DescriptorEventReceiver.h>
Classes | |
| struct | TIMEOUT |
Public Member Functions | |
| DescriptorEventReceiver (const std::string &name, DescriptorEventPublisher &descriptorEventPublisher, const utils::Timeval &timeout=TIMEOUT::DISABLE) | |
| int | getRegisteredFd () const |
| bool | isEnabled () const |
| bool | isSuspended () const |
| void | setTimeout (const utils::Timeval &timeout) |
| utils::Timeval | getTimeout (const utils::Timeval ¤tTime) const |
| void | checkTimeout (const utils::Timeval ¤tTime) |
Public Member Functions inherited from core::EventReceiver | |
| EventReceiver (const std::string &name) | |
| EventReceiver (EventReceiver &)=delete | |
| EventReceiver (EventReceiver &&)=delete | |
| EventReceiver & | operator= (EventReceiver &)=delete |
| EventReceiver & | operator= (EventReceiver &&)=delete |
| virtual void | destruct () |
| void | span () |
| void | relax () |
| const std::string & | getName () const |
Protected Member Functions | |
| bool | enable (int fd) |
| void | disable () |
| void | suspend () |
| void | resume () |
Protected Member Functions inherited from core::Observer | |
| void | observed () |
| void | unObserved () |
| virtual void | unobservedEvent ()=0 |
| Observer ()=default | |
| Observer (Observer &)=delete | |
| Observer (Observer &&)=delete | |
| virtual | ~Observer () |
Protected Member Functions inherited from core::EventReceiver | |
| virtual | ~EventReceiver ()=default |
| EventReceiver (const std::string &name) | |
| EventReceiver (EventReceiver &)=delete | |
| EventReceiver (EventReceiver &&)=delete | |
| EventReceiver & | operator= (EventReceiver &)=delete |
| EventReceiver & | operator= (EventReceiver &&)=delete |
| virtual void | destruct () |
| void | span () |
| void | relax () |
| const std::string & | getName () const |
Private Member Functions | |
| void | onEvent (const utils::Timeval ¤tTime) final |
| void | onSignal (int signum) |
| void | triggered (const utils::Timeval ¤tTime) |
| void | setEnabled (const utils::Timeval ¤tTime) |
| void | setDisabled () |
| virtual void | dispatchEvent ()=0 |
| virtual void | timeoutEvent ()=0 |
| virtual void | signalEvent (int signum)=0 |
Private Attributes | |
| DescriptorEventPublisher & | descriptorEventPublisher |
| int | observedFd = -1 |
| bool | enabled = false |
| bool | suspended = false |
| utils::Timeval | lastTriggered |
| utils::Timeval | maxInactivity |
| const utils::Timeval | initialTimeout |
| int | eventCounter = 0 |
Friends | |
| class | DescriptorEventPublisher |
Additional Inherited Members | |
Static Public Member Functions inherited from core::EventReceiver | |
| static void | atNextTick (const std::function< void(void)> &callBack) |
Static Protected Member Functions inherited from core::EventReceiver | |
| static void | atNextTick (const std::function< void(void)> &callBack) |
Definition at line 79 of file DescriptorEventReceiver.h.
| core::DescriptorEventReceiver::DescriptorEventReceiver | ( | const std::string & | name, |
| DescriptorEventPublisher & | descriptorEventPublisher, | ||
| const utils::Timeval & | timeout = TIMEOUT::DISABLE |
||
| ) |
Definition at line 75 of file DescriptorEventReceiver.cpp.
References descriptorEventPublisher, core::EventReceiver::EventReceiver(), initialTimeout, maxInactivity, and utils::Timeval::Timeval().
Referenced by core::eventreceiver::AcceptEventReceiver::AcceptEventReceiver(), core::eventreceiver::ConnectEventReceiver::ConnectEventReceiver(), core::eventreceiver::ExceptionalConditionEventReceiver::ExceptionalConditionEventReceiver(), core::eventreceiver::ReadEventReceiver::ReadEventReceiver(), and core::eventreceiver::WriteEventReceiver::WriteEventReceiver().
| void core::DescriptorEventReceiver::checkTimeout | ( | const utils::Timeval & | currentTime | ) |
Definition at line 186 of file DescriptorEventReceiver.cpp.
References lastTriggered, maxInactivity, utils::Timeval::operator-(), utils::Timeval::operator>(), utils::Timeval::operator>=(), and timeoutEvent().
Referenced by core::DescriptorEventPublisher::checkTimedOutEvents().
|
protected |
Definition at line 108 of file DescriptorEventReceiver.cpp.
References descriptorEventPublisher, core::DescriptorEventPublisher::disable(), enabled, and core::EventReceiver::getName().
Referenced by core::eventreceiver::AcceptEventReceiver::acceptTimeout(), core::socket::stream::SocketConnector< PhysicalSocketClientT, ConfigT, SocketConnectionT >::connectEvent(), core::eventreceiver::ConnectEventReceiver::connectTimeout(), core::DescriptorEventPublisher::disable(), core::pipe::PipeSource::eof(), core::eventreceiver::ExceptionalConditionEventReceiver::outOfBandTimeout(), core::socket::stream::tls::TLSHandshake::readEvent(), core::socket::stream::tls::TLSShutdown::readEvent(), core::pipe::PipeSink::readEvent(), core::eventreceiver::ReadEventReceiver::readTimeout(), core::socket::stream::tls::TLSHandshake::readTimeout(), core::socket::stream::tls::TLSShutdown::readTimeout(), core::socket::stream::SocketWriter::signalEvent(), core::eventreceiver::AcceptEventReceiver::signalEvent(), core::eventreceiver::ConnectEventReceiver::signalEvent(), core::eventreceiver::ExceptionalConditionEventReceiver::signalEvent(), core::eventreceiver::ReadEventReceiver::signalEvent(), core::eventreceiver::WriteEventReceiver::signalEvent(), core::socket::stream::tls::TLSHandshake::TLSHandshake(), core::socket::stream::tls::TLSShutdown::TLSShutdown(), core::socket::stream::tls::TLSHandshake::writeEvent(), core::socket::stream::tls::TLSShutdown::writeEvent(), core::pipe::PipeSource::writeEvent(), core::eventreceiver::WriteEventReceiver::writeTimeout(), core::socket::stream::tls::TLSHandshake::writeTimeout(), and core::socket::stream::tls::TLSShutdown::writeTimeout().
|
privatepure virtual |
Implemented in core::eventreceiver::AcceptEventReceiver, core::eventreceiver::ConnectEventReceiver, core::eventreceiver::ExceptionalConditionEventReceiver, core::eventreceiver::ReadEventReceiver, and core::eventreceiver::WriteEventReceiver.
Referenced by onEvent().
|
protected |
Definition at line 88 of file DescriptorEventReceiver.cpp.
References descriptorEventPublisher, core::DescriptorEventPublisher::enable(), enabled, core::EventReceiver::getName(), and observedFd.
Referenced by core::socket::stream::SocketAcceptor< PhysicalSocketServerT, ConfigT, SocketConnectionT >::init(), core::socket::stream::SocketConnector< PhysicalSocketClientT, ConfigT, SocketConnectionT >::init(), core::pipe::PipeSink::PipeSink(), core::pipe::PipeSource::PipeSource(), core::socket::stream::tls::TLSHandshake::TLSHandshake(), and core::socket::stream::tls::TLSShutdown::TLSShutdown().
| int core::DescriptorEventReceiver::getRegisteredFd | ( | ) | const |
Definition at line 84 of file DescriptorEventReceiver.cpp.
References observedFd.
Referenced by core::DescriptorEventPublisher::disable(), core::DescriptorEventPublisher::enable(), core::multiplexer::epoll::DescriptorEventPublisher::EPollEvents::muxAdd(), core::multiplexer::select::DescriptorEventPublisher::muxAdd(), core::multiplexer::poll::PollFdsManager::muxAdd(), core::multiplexer::epoll::DescriptorEventPublisher::EPollEvents::muxOff(), core::multiplexer::select::DescriptorEventPublisher::muxOff(), core::multiplexer::epoll::DescriptorEventPublisher::EPollEvents::muxOn(), core::multiplexer::select::DescriptorEventPublisher::muxOn(), core::socket::stream::SocketReader::read(), core::pipe::PipeSink::readEvent(), core::DescriptorEventPublisher::releaseDisabledEvents(), core::socket::stream::SocketWriter::write(), core::pipe::PipeSource::writeEvent(), core::pipe::PipeSink::~PipeSink(), and core::pipe::PipeSource::~PipeSource().
| utils::Timeval core::DescriptorEventReceiver::getTimeout | ( | const utils::Timeval & | currentTime | ) | const |
Definition at line 167 of file DescriptorEventReceiver.cpp.
References lastTriggered, core::DescriptorEventReceiver::TIMEOUT::MAX, maxInactivity, utils::Timeval::operator-(), and utils::Timeval::operator>().
Referenced by core::DescriptorEventPublisher::getNextTimeout().
| bool core::DescriptorEventReceiver::isEnabled | ( | ) | const |
Definition at line 122 of file DescriptorEventReceiver.cpp.
References enabled.
Referenced by core::socket::stream::SocketAcceptor< PhysicalSocketServerT, ConfigT, SocketConnectionT >::init(), core::socket::stream::SocketConnector< PhysicalSocketClientT, ConfigT, SocketConnectionT >::init(), core::socket::stream::SocketWriter::sendToPeer(), and core::socket::stream::SocketWriter::streamToPeer().
| bool core::DescriptorEventReceiver::isSuspended | ( | ) | const |
Definition at line 153 of file DescriptorEventReceiver.cpp.
References suspended.
Referenced by core::socket::stream::SocketReader::doRead(), core::socket::stream::SocketWriter::doWrite(), core::DescriptorEventPublisher::enable(), core::DescriptorEventPublisher::releaseDisabledEvents(), and core::pipe::PipeSource::send().
|
finalprivatevirtual |
Implements core::EventReceiver.
Definition at line 171 of file DescriptorEventReceiver.cpp.
References dispatchEvent(), eventCounter, and triggered().
|
private |
Definition at line 178 of file DescriptorEventReceiver.cpp.
References signalEvent().
Referenced by core::DescriptorEventPublisher::signal().
|
protected |
Definition at line 139 of file DescriptorEventReceiver.cpp.
References utils::Timeval::currentTime(), descriptorEventPublisher, enabled, core::EventReceiver::getName(), lastTriggered, utils::Timeval::operator=(), core::DescriptorEventPublisher::resume(), and suspended.
Referenced by core::socket::stream::SocketReader::doRead(), core::socket::stream::SocketWriter::doWrite(), core::socket::stream::tls::TLSHandshake::readEvent(), core::socket::stream::tls::TLSShutdown::readEvent(), core::pipe::PipeSource::send(), core::socket::stream::SocketWriter::sendToPeer(), core::socket::stream::tls::TLSHandshake::TLSHandshake(), core::socket::stream::tls::TLSShutdown::TLSShutdown(), core::socket::stream::tls::TLSHandshake::writeEvent(), and core::socket::stream::tls::TLSShutdown::writeEvent().
|
private |
Definition at line 118 of file DescriptorEventReceiver.cpp.
References core::Observer::unObserved().
Referenced by core::DescriptorEventPublisher::releaseDisabledEvents().
|
private |
Definition at line 102 of file DescriptorEventReceiver.cpp.
References lastTriggered, core::Observer::observed(), and utils::Timeval::operator=().
Referenced by core::DescriptorEventPublisher::enable().
| void core::DescriptorEventReceiver::setTimeout | ( | const utils::Timeval & | timeout | ) |
Definition at line 157 of file DescriptorEventReceiver.cpp.
References utils::Timeval::currentTime(), core::DescriptorEventReceiver::TIMEOUT::DEFAULT, initialTimeout, maxInactivity, utils::Timeval::operator=(), utils::Timeval::operator==(), and triggered().
Referenced by core::socket::stream::SocketAcceptor< PhysicalSocketServerT, ConfigT, SocketConnectionT >::init(), core::socket::stream::SocketConnector< PhysicalSocketClientT, ConfigT, SocketConnectionT >::init(), and core::socket::stream::SocketReader::shutdownRead().
|
privatepure virtual |
Implemented in core::socket::stream::SocketReader, core::socket::stream::SocketWriter, core::socket::stream::tls::TLSHandshake, core::socket::stream::tls::TLSShutdown, core::eventreceiver::AcceptEventReceiver, core::eventreceiver::ConnectEventReceiver, core::eventreceiver::ExceptionalConditionEventReceiver, core::eventreceiver::ReadEventReceiver, and core::eventreceiver::WriteEventReceiver.
Referenced by onSignal().
|
protected |
Definition at line 126 of file DescriptorEventReceiver.cpp.
References descriptorEventPublisher, enabled, core::EventReceiver::getName(), core::DescriptorEventPublisher::suspend(), and suspended.
Referenced by core::socket::stream::SocketReader::doRead(), core::socket::stream::SocketWriter::doWrite(), core::pipe::PipeSource::PipeSource(), core::socket::stream::tls::TLSHandshake::readEvent(), core::socket::stream::tls::TLSShutdown::readEvent(), core::socket::stream::tls::TLSHandshake::TLSHandshake(), core::socket::stream::tls::TLSShutdown::TLSShutdown(), core::socket::stream::tls::TLSHandshake::writeEvent(), core::socket::stream::tls::TLSShutdown::writeEvent(), and core::pipe::PipeSource::writeEvent().
|
privatepure virtual |
Implemented in core::eventreceiver::AcceptEventReceiver, core::eventreceiver::ConnectEventReceiver, core::eventreceiver::ExceptionalConditionEventReceiver, core::eventreceiver::ReadEventReceiver, and core::eventreceiver::WriteEventReceiver.
Referenced by checkTimeout().
|
private |
Definition at line 182 of file DescriptorEventReceiver.cpp.
References lastTriggered, and utils::Timeval::operator=().
Referenced by onEvent(), core::DescriptorEventPublisher::releaseDisabledEvents(), and setTimeout().
|
friend |
Definition at line 136 of file DescriptorEventReceiver.h.
|
private |
Definition at line 123 of file DescriptorEventReceiver.h.
Referenced by DescriptorEventReceiver(), disable(), enable(), resume(), and suspend().
|
private |
Definition at line 127 of file DescriptorEventReceiver.h.
Referenced by disable(), enable(), isEnabled(), resume(), and suspend().
|
private |
Definition at line 134 of file DescriptorEventReceiver.h.
Referenced by onEvent().
|
private |
Definition at line 132 of file DescriptorEventReceiver.h.
Referenced by DescriptorEventReceiver(), and setTimeout().
|
private |
Definition at line 130 of file DescriptorEventReceiver.h.
Referenced by checkTimeout(), getTimeout(), resume(), setEnabled(), and triggered().
|
private |
Definition at line 131 of file DescriptorEventReceiver.h.
Referenced by checkTimeout(), DescriptorEventReceiver(), getTimeout(), and setTimeout().
|
private |
Definition at line 125 of file DescriptorEventReceiver.h.
Referenced by enable(), and getRegisteredFd().
|
private |
Definition at line 128 of file DescriptorEventReceiver.h.
Referenced by isSuspended(), resume(), and suspend().