25 static std::pair<std::unique_ptr<MemoryMessageChannel>,
26 std::unique_ptr<MemoryMessageChannel>>
32 bool send(
const std::uint8_t* data, std::size_t size)
override;
38 bool is_open()
const override {
return open_.load() && peer_alive(); }
43 bool peer_alive()
const;
46 std::weak_ptr<MemoryMessageChannel*> peer_;
48 std::shared_ptr<MemoryMessageChannel*> self_;
49 std::atomic<bool> open_{
true};
Definition memory_message_channel.hpp:21
bool send(const std::uint8_t *data, std::size_t size) override
Send a message.
static std::pair< std::unique_ptr< MemoryMessageChannel >, std::unique_ptr< MemoryMessageChannel > > make_pair()
Create a connected pair.
bool is_open() const override
Whether the channel is currently usable.
Definition memory_message_channel.hpp:38
~MemoryMessageChannel() override
void on_error(ChannelErrorCallback callback) override
void on_closed(ChannelClosedCallback callback) override
void close() override
Close the channel. Idempotent. Fires the closed callback.
bool send_text(std::string_view text) override
void on_message(MessageCallback callback) override
Install / replace callbacks.
MessageChannel(const MessageChannel &)=delete
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
std::function< void(std::string_view reason)> ChannelErrorCallback
Called when a transport-level error occurs.
Definition message_channel.hpp:60
A single structured message as delivered by the channel.
Definition message_channel.hpp:39