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) |
![]() | |
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 () |
![]() | |
void | observed () |
void | unObserved () |
virtual void | unobservedEvent ()=0 |
Observer ()=default | |
Observer (Observer &)=delete | |
Observer (Observer &&)=delete | |
virtual | ~Observer () |
![]() | |
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 void | atNextTick (const std::function< void(void)> &callBack) |
![]() | |
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().