SNode.C
Loading...
Searching...
No Matches
core::EventReceiver Class Referenceabstract

#include <EventReceiver.h>

Inheritance diagram for core::EventReceiver:
Collaboration diagram for core::EventReceiver:

Public Member Functions

 EventReceiver (const std::string &name)
 
 EventReceiver (EventReceiver &)=delete
 
 EventReceiver (EventReceiver &&)=delete
 
EventReceiveroperator= (EventReceiver &)=delete
 
EventReceiveroperator= (EventReceiver &&)=delete
 
virtual void destruct ()
 
void span ()
 
void relax ()
 
virtual void onEvent (const utils::Timeval &currentTime)=0
 
const std::string & getName () const
 

Static Public Member Functions

static void atNextTick (const std::function< void(void)> &callBack)
 

Protected Member Functions

virtual ~EventReceiver ()=default
 

Private Attributes

Event event
 

Detailed Description

Definition at line 61 of file EventReceiver.h.

Constructor & Destructor Documentation

◆ EventReceiver() [1/3]

core::EventReceiver::EventReceiver ( const std::string &  name)

Definition at line 71 of file EventReceiver.cpp.

72 : event(this, name) {
73 }

References core::Event::Event(), and event.

Referenced by atNextTick(), core::DescriptorEventReceiver::DescriptorEventReceiver(), core::file::FileReader::FileReader(), iot::mqtt::OnReceivedFromPeerEvent::OnReceivedFromPeerEvent(), core::TimerEventReceiver::TimerEventReceiver(), and apps::towercalculator::TowerCalculator::TowerCalculator().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ EventReceiver() [2/3]

core::EventReceiver::EventReceiver ( EventReceiver )
delete

◆ EventReceiver() [3/3]

core::EventReceiver::EventReceiver ( EventReceiver &&  )
delete

◆ ~EventReceiver()

virtual core::EventReceiver::~EventReceiver ( )
protectedvirtualdefault

Member Function Documentation

◆ atNextTick()

void core::EventReceiver::atNextTick ( const std::function< void(void)> &  callBack)
static

Definition at line 50 of file EventReceiver.cpp.

50 {
51 class NextTickEvent : public core::EventReceiver {
52 public:
53 explicit NextTickEvent(const std::function<void(void)>& callBack)
54 : core::EventReceiver("RequestEvent")
55 , callBack(callBack) {
56 }
57
58 void onEvent([[maybe_unused]] const utils::Timeval& currentTime) override {
59 callBack();
60
61 delete this;
62 }
63
64 private:
65 std::function<void(void)> callBack;
66 };
67
68 (new NextTickEvent(callBack))->span();
69 }
Definition Timer.h:59

References EventReceiver(), and span().

Referenced by web::http::client::SocketContext::initiateRequest(), web::http::server::SocketContext::requestCompleted(), web::http::client::SocketContext::requestDelivered(), web::http::client::SocketContext::responseDelivered(), core::socket::stream::SocketAcceptor< PhysicalSocketServerT, ConfigT, SocketConnectionT >::SocketAcceptor(), core::socket::stream::SocketAcceptor< PhysicalSocketServerT, ConfigT, SocketConnectionT >::SocketAcceptor(), core::socket::stream::SocketConnector< PhysicalSocketClientT, ConfigT, SocketConnectionT >::SocketConnector(), and core::socket::stream::SocketConnector< PhysicalSocketClientT, ConfigT, SocketConnectionT >::SocketConnector().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ destruct()

◆ getName()

const std::string & core::EventReceiver::getName ( ) const

Definition at line 87 of file EventReceiver.cpp.

87 {
88 return event.getName();
89 }

References event, and core::Event::getName().

Referenced by core::DescriptorEventReceiver::disable(), core::socket::stream::SocketWriter::doWrite(), core::DescriptorEventReceiver::enable(), core::socket::stream::tls::SocketReader::read(), core::DescriptorEventReceiver::resume(), core::socket::stream::SocketWriter::sendToPeer(), core::socket::stream::SocketWriter::shutdownWrite(), core::socket::stream::SocketWriter::streamEof(), core::socket::stream::SocketWriter::streamToPeer(), core::DescriptorEventReceiver::suspend(), and core::socket::stream::tls::SocketWriter::write().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ onEvent()

virtual void core::EventReceiver::onEvent ( const utils::Timeval currentTime)
pure virtual

Implemented in core::DescriptorEventReceiver, core::TimerEventReceiver, apps::towercalculator::TowerCalculator, core::file::FileReader, database::mariadb::MariaDBCommandStartEvent, and iot::mqtt::OnReceivedFromPeerEvent.

Referenced by core::Event::dispatch().

Here is the caller graph for this function:

◆ operator=() [1/2]

EventReceiver & core::EventReceiver::operator= ( EventReceiver &&  )
delete

◆ operator=() [2/2]

EventReceiver & core::EventReceiver::operator= ( EventReceiver )
delete

◆ relax()

void core::EventReceiver::relax ( )

Definition at line 83 of file EventReceiver.cpp.

83 {
84 event.relax();
85 }

References event, and core::Event::relax().

Here is the call graph for this function:

◆ span()

Member Data Documentation

◆ event

Event core::EventReceiver::event
private

Definition at line 87 of file EventReceiver.h.

Referenced by EventReceiver(), getName(), relax(), and span().


The documentation for this class was generated from the following files: