Abstract base for message-oriented channels. More...
#include <message_channel.hpp>
Public Member Functions | |
| virtual | ~MessageChannel ()=default |
| MessageChannel (const MessageChannel &)=delete | |
| MessageChannel & | operator= (const MessageChannel &)=delete |
| virtual bool | send (const std::uint8_t *data, std::size_t size)=0 |
| Send a message. | |
| bool | send (std::string_view text) |
| virtual bool | send_text (std::string_view text) |
| virtual void | on_message (MessageCallback callback)=0 |
| Install / replace callbacks. | |
| virtual void | on_closed (ChannelClosedCallback callback)=0 |
| virtual void | on_error (ChannelErrorCallback callback)=0 |
| virtual void | close ()=0 |
| Close the channel. Idempotent. Fires the closed callback. | |
| virtual bool | is_open () const =0 |
| Whether the channel is currently usable. | |
Protected Member Functions | |
| MessageChannel ()=default | |
Abstract base for message-oriented channels.
Implementations never throw from send/receive paths; errors surface as the return value of send() or through the error callback.
|
virtualdefault |
|
delete |
|
protecteddefault |
|
pure virtual |
Close the channel. Idempotent. Fires the closed callback.
Implemented in pulp::osc::OscChannel, pulp::runtime::MemoryMessageChannel, and pulp::runtime::WebSocketChannel.
|
pure virtual |
Whether the channel is currently usable.
Implemented in pulp::osc::OscChannel, pulp::runtime::MemoryMessageChannel, and pulp::runtime::WebSocketChannel.
|
pure virtual |
Implemented in pulp::osc::OscChannel, pulp::runtime::MemoryMessageChannel, and pulp::runtime::WebSocketChannel.
|
pure virtual |
Implemented in pulp::osc::OscChannel, pulp::runtime::MemoryMessageChannel, and pulp::runtime::WebSocketChannel.
|
pure virtual |
Install / replace callbacks.
Safe to call at any time; callbacks installed during send-processing apply to subsequent messages.
Implemented in pulp::osc::OscChannel, pulp::runtime::MemoryMessageChannel, and pulp::runtime::WebSocketChannel.
|
delete |
|
pure virtual |
Send a message.
Returns true if the payload was accepted for transmission (queued or written); false if the channel is closed, errored, or the payload was rejected (e.g., frame too large).
The default overload sends binary; override send_text if the transport distinguishes text from binary.
Implemented in pulp::osc::OscChannel, pulp::runtime::MemoryMessageChannel, and pulp::runtime::WebSocketChannel.
|
inline |
|
inlinevirtual |
Reimplemented in pulp::runtime::MemoryMessageChannel, and pulp::runtime::WebSocketChannel.