13#include <system_error>
82 [[nodiscard]]
virtual auto start(
83 std::string_view host,
85 std::string_view path =
"/") ->
VoidResult = 0;
128 std::vector<uint8_t>&& data,
136 [[nodiscard]] virtual auto
ping(std::vector<uint8_t>&& payload = {}) ->
VoidResult = 0;
145 uint16_t code = 1000,
146 std::string_view reason =
"") ->
VoidResult = 0;
Base interface for all network components.
Interface for WebSocket client components.
std::function< void(std::error_code, std::size_t)> send_callback_t
Callback type for send completion.
virtual auto set_connected_callback(connected_callback_t callback) -> void=0
Sets the callback for connection established.
virtual auto close(uint16_t code=1000, std::string_view reason="") -> VoidResult=0
Closes the WebSocket connection gracefully.
virtual auto send_binary(std::vector< uint8_t > &&data, send_callback_t handler=nullptr) -> VoidResult=0
Sends a binary message.
std::function< void()> connected_callback_t
Callback type for connection established.
virtual auto ping(std::vector< uint8_t > &&payload={}) -> VoidResult=0
Sends a ping frame.
virtual auto start(std::string_view host, uint16_t port, std::string_view path="/") -> VoidResult=0
Starts the WebSocket client connecting to the specified endpoint.
std::function< void(const std::vector< uint8_t > &)> binary_callback_t
Callback type for binary messages.
virtual auto set_disconnected_callback(disconnected_callback_t callback) -> void=0
Sets the callback for disconnection.
virtual auto stop() -> VoidResult=0
Stops the WebSocket client.
std::function< void(const std::string &)> text_callback_t
Callback type for text messages.
virtual auto set_text_callback(text_callback_t callback) -> void=0
Sets the callback for text messages.
std::function< void(std::error_code)> error_callback_t
Callback type for errors.
virtual auto set_binary_callback(binary_callback_t callback) -> void=0
Sets the callback for binary messages.
virtual auto send_text(std::string &&message, send_callback_t handler=nullptr) -> VoidResult=0
Sends a text message.
virtual auto is_connected() const -> bool=0
Checks if the WebSocket connection is established.
virtual auto set_error_callback(error_callback_t callback) -> void=0
Sets the callback for errors.
std::function< void(uint16_t code, std::string_view reason)> disconnected_callback_t
Callback type for disconnection (with close code and reason)
Base interface for all network components.
Network-specific error and result type definitions.