MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ broadcast_event()

void Lila::Server::broadcast_event ( const StreamEvent event,
std::optional< std::string_view >  target_session = std::nullopt 
)

Broadcasts an event to connected clients.

Parameters
eventThe event to broadcast
target_sessionOptional session ID to target a specific client

Definition at line 437 of file Server.cpp.

438{
439 std::shared_lock lock(m_clients_mutex);
440
441 for (const auto& [fd, client] : m_connected_clients) {
442 if (target_session && client.session_id != *target_session) {
443 continue;
444 }
445
446 if (!send_message(fd, R"({"status":"info","message":"Event broadcast not implemented yet"})")) {
447 LILA_WARN(Emitter::SERVER, "Failed to send event to client fd " + std::to_string(fd));
448 }
449 }
450}
#define LILA_WARN(emitter, msg)
std::shared_mutex m_clients_mutex
Mutex for client map.
Definition Server.hpp:173
std::unordered_map< int, ClientInfo > m_connected_clients
Map of connected clients.
Definition Server.hpp:174
bool send_message(int client_fd, std::string_view message)
Sends a message to a client.
Definition Server.cpp:400

References LILA_WARN, m_clients_mutex, m_connected_clients, and send_message().

+ Here is the call graph for this function: