ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
esphome::web_server_idf::AsyncEventSource Class Reference

#include <web_server_idf.h>

Inheritance diagram for esphome::web_server_idf::AsyncEventSource:
esphome::web_server_idf::AsyncWebHandler

Public Member Functions

 AsyncEventSource (StringRef url, esphome::web_server::WebServer *ws)
 
 ~AsyncEventSource () override
 
bool canHandle (AsyncWebServerRequest *request) const override
 
void handleRequest (AsyncWebServerRequest *request) override
 
void try_send_nodefer (const char *message, size_t message_len, const char *event=nullptr, uint32_t id=0, uint32_t reconnect=0)
 
void deferrable_send_state (void *source, bool detail_all, message_generator_t *message_generator)
 
void deferrable_send_state (void *source, const char *event_type, message_generator_t *message_generator)=delete
 
bool loop ()
 Returns true if there are sessions remaining (including pending cleanup).
 
bool empty ()
 
size_t count () const
 
- Public Member Functions inherited from esphome::web_server_idf::AsyncWebHandler
virtual ~AsyncWebHandler ()
 
virtual void handleUpload (AsyncWebServerRequest *request, const std::string &filename, size_t index, uint8_t *data, size_t len, bool final)
 
virtual void handleBody (AsyncWebServerRequest *request, uint8_t *data, size_t len, size_t index, size_t total)
 
virtual bool isRequestHandlerTrivial () const
 

Protected Member Functions

void __attribute__ ((noinline, cold)) adopt_pending_sessions_main_loop_()
 

Protected Attributes

StringRef url_
 
std::vector< AsyncEventSourceResponse * > sessions_
 
std::vector< AsyncEventSourceResponse * > pending_sessions_
 
Mutex pending_mutex_
 
esphome::web_server::WebServer * web_server_
 
std::atomic< bool > has_pending_sessions_ {false}
 

Detailed Description

Definition at line 412 of file web_server_idf.h.

Constructor & Destructor Documentation

◆ AsyncEventSource()

esphome::web_server_idf::AsyncEventSource::AsyncEventSource ( StringRef url,
esphome::web_server::WebServer * ws )
inline

Definition at line 416 of file web_server_idf.h.

◆ ~AsyncEventSource()

AsyncEventSource::~AsyncEventSource ( )
override

Definition at line 711 of file web_server_idf.cpp.

Member Function Documentation

◆ __attribute__()

void esphome::web_server_idf::AsyncEventSource::__attribute__ ( (noinline, cold) )
protected

◆ canHandle()

bool esphome::web_server_idf::AsyncEventSource::canHandle ( AsyncWebServerRequest * request) const
inlineoverridevirtual

Reimplemented from esphome::web_server_idf::AsyncWebHandler.

Definition at line 420 of file web_server_idf.h.

◆ count()

size_t esphome::web_server_idf::AsyncEventSource::count ( ) const
inline

Definition at line 437 of file web_server_idf.h.

◆ deferrable_send_state() [1/2]

void AsyncEventSource::deferrable_send_state ( void * source,
bool detail_all,
message_generator_t * message_generator )

Definition at line 799 of file web_server_idf.cpp.

◆ deferrable_send_state() [2/2]

void esphome::web_server_idf::AsyncEventSource::deferrable_send_state ( void * source,
const char * event_type,
message_generator_t * message_generator )
delete

◆ empty()

bool esphome::web_server_idf::AsyncEventSource::empty ( )
inline

Definition at line 435 of file web_server_idf.h.

◆ handleRequest()

void AsyncEventSource::handleRequest ( AsyncWebServerRequest * request)
overridevirtual

Reimplemented from esphome::web_server_idf::AsyncWebHandler.

Definition at line 720 of file web_server_idf.cpp.

◆ loop()

bool AsyncEventSource::loop ( )

Returns true if there are sessions remaining (including pending cleanup).

Definition at line 736 of file web_server_idf.cpp.

◆ try_send_nodefer()

void AsyncEventSource::try_send_nodefer ( const char * message,
size_t message_len,
const char * event = nullptr,
uint32_t id = 0,
uint32_t reconnect = 0 )

Definition at line 790 of file web_server_idf.cpp.

Field Documentation

◆ has_pending_sessions_

std::atomic<bool> esphome::web_server_idf::AsyncEventSource::has_pending_sessions_ {false}
protected

Definition at line 450 of file web_server_idf.h.

◆ pending_mutex_

Mutex esphome::web_server_idf::AsyncEventSource::pending_mutex_
protected

Definition at line 448 of file web_server_idf.h.

◆ pending_sessions_

std::vector<AsyncEventSourceResponse *> esphome::web_server_idf::AsyncEventSource::pending_sessions_
protected

Definition at line 447 of file web_server_idf.h.

◆ sessions_

std::vector<AsyncEventSourceResponse *> esphome::web_server_idf::AsyncEventSource::sessions_
protected

Definition at line 445 of file web_server_idf.h.

◆ url_

StringRef esphome::web_server_idf::AsyncEventSource::url_
protected

Definition at line 443 of file web_server_idf.h.

◆ web_server_

esphome::web_server::WebServer* esphome::web_server_idf::AsyncEventSource::web_server_
protected

Definition at line 449 of file web_server_idf.h.


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