46 return {
reinterpret_cast<const char*
>(
payload.data()),
payload.size()};
83 virtual bool send(
const std::uint8_t* data, std::size_t size) = 0;
85 bool send(std::string_view text) {
91 return send(
reinterpret_cast<const std::uint8_t*
>(text.data()), text.size());
virtual void on_message(MessageCallback callback)=0
Install / replace callbacks.
MessageChannel & operator=(const MessageChannel &)=delete
virtual bool send(const std::uint8_t *data, std::size_t size)=0
Send a message.
MessageChannel(const MessageChannel &)=delete
virtual void close()=0
Close the channel. Idempotent. Fires the closed callback.
virtual void on_error(ChannelErrorCallback callback)=0
bool send(std::string_view text)
Definition message_channel.hpp:85
virtual bool send_text(std::string_view text)
Definition message_channel.hpp:89
virtual void on_closed(ChannelClosedCallback callback)=0
virtual bool is_open() const =0
Whether the channel is currently usable.
virtual ~MessageChannel()=default
Definition generated_event_source.hpp:33
std::function< void()> ChannelClosedCallback
Called once when the channel transitions to a closed state — either the peer closed,...
Definition message_channel.hpp:55
std::function< void(const Message &message)> MessageCallback
Called when the channel receives a complete message.
Definition message_channel.hpp:51
MessageKind
Classification of a delivered message.
Definition message_channel.hpp:33
@ Binary
opaque bytes
Definition message_channel.hpp:34
@ Text
UTF-8 text (WebSocket text frames, JSON-RPC envelopes).
Definition message_channel.hpp:35
std::function< void(std::string_view reason)> ChannelErrorCallback
Called when a transport-level error occurs.
Definition message_channel.hpp:60
std::function< void(std::function< void()>)> MessageExecutor
Executor used to dispatch callbacks off whichever worker thread the channel runs internally.
Definition message_channel.hpp:64
A single structured message as delivered by the channel.
Definition message_channel.hpp:39
std::vector< std::uint8_t > payload
Definition message_channel.hpp:41
std::string_view as_text() const
View the payload as a text string.
Definition message_channel.hpp:45
MessageKind kind
Definition message_channel.hpp:40