Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
pulp::runtime::MessageChannel Class Referenceabstract

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

Detailed Description

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.

Constructor & Destructor Documentation

◆ ~MessageChannel()

virtual pulp::runtime::MessageChannel::~MessageChannel ( )
virtualdefault

◆ MessageChannel() [1/2]

pulp::runtime::MessageChannel::MessageChannel ( const MessageChannel & )
delete

◆ MessageChannel() [2/2]

pulp::runtime::MessageChannel::MessageChannel ( )
protecteddefault

Member Function Documentation

◆ close()

virtual void pulp::runtime::MessageChannel::close ( )
pure virtual

Close the channel. Idempotent. Fires the closed callback.

Implemented in pulp::osc::OscChannel, pulp::runtime::MemoryMessageChannel, and pulp::runtime::WebSocketChannel.

◆ is_open()

virtual bool pulp::runtime::MessageChannel::is_open ( ) const
pure virtual

Whether the channel is currently usable.

Implemented in pulp::osc::OscChannel, pulp::runtime::MemoryMessageChannel, and pulp::runtime::WebSocketChannel.

◆ on_closed()

virtual void pulp::runtime::MessageChannel::on_closed ( ChannelClosedCallback callback)
pure virtual

◆ on_error()

virtual void pulp::runtime::MessageChannel::on_error ( ChannelErrorCallback callback)
pure virtual

◆ on_message()

virtual void pulp::runtime::MessageChannel::on_message ( MessageCallback callback)
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.

◆ operator=()

MessageChannel & pulp::runtime::MessageChannel::operator= ( const MessageChannel & )
delete

◆ send() [1/2]

virtual bool pulp::runtime::MessageChannel::send ( const std::uint8_t * data,
std::size_t size )
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.

◆ send() [2/2]

bool pulp::runtime::MessageChannel::send ( std::string_view text)
inline

◆ send_text()

virtual bool pulp::runtime::MessageChannel::send_text ( std::string_view text)
inlinevirtual

The documentation for this class was generated from the following file: