oveRTOS C++ API
C++20 RAII wrappers for the oveRTOS C API
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
ove::ws Namespace Reference

C++ wrappers around the oveRTOS WebSocket API. More...

Classes

class  Connection
 Non-owning handle to an active WebSocket connection. More...
 

Typedefs

using Handler = ove_httpd_ws_handler_t
 WebSocket message handler type.
 
using CloseHandler = ove_httpd_ws_close_handler_t
 WebSocket close handler type.
 

Functions

Result< void > route (const char *path, Handler on_message, CloseHandler on_close=nullptr) noexcept
 Register a WebSocket route.
 
int broadcast (const char *path, const void *data, size_t len)
 Broadcast a message to all WebSocket connections on a path.
 
int broadcast (const char *path, std::string_view sv)
 Broadcast a string_view to all connections on a path.
 
int active_count ()
 Return the number of active WebSocket connections.
 

Detailed Description

C++ wrappers around the oveRTOS WebSocket API.

Available when CONFIG_OVE_NET_HTTPD_WS is enabled.

Function Documentation

◆ route()

Result< void > ove::ws::route ( const char *  path,
Handler  on_message,
CloseHandler  on_close = nullptr 
)
inlinenoexcept

Register a WebSocket route.

Parameters
[in]pathURL path prefix (e.g. "/ws/log").
[in]on_messageCallback for incoming messages.
[in]on_closeCallback when connection closes (may be nullptr).
Returns
Empty Result<void> on success; unexpected Error::NoMemory if the route table is full.

◆ broadcast() [1/2]

int ove::ws::broadcast ( const char *  path,
const void *  data,
size_t  len 
)
inline

Broadcast a message to all WebSocket connections on a path.

Parameters
[in]pathPath filter (nullptr for all connections).
[in]dataMessage payload.
[in]lenPayload length in bytes.
Returns
Number of connections the message was sent to.

◆ broadcast() [2/2]

int ove::ws::broadcast ( const char *  path,
std::string_view  sv 
)
inline

Broadcast a string_view to all connections on a path.

Parameters
[in]pathPath filter (nullptr for all connections).
[in]svString view to send.
Returns
Number of connections the message was sent to.