Skip to content

rlpx::framing::MessageStream

Message stream handles framing, encryption, and compression.

#include <message_stream.hpp>

Public Functions

Name
MessageStream(std::unique_ptr< FrameCipher > cipher, socket::SocketTransport transport)
Takes ownership of cipher and socket transport.
VoidResult send_message(const MessageSendParams & params, boost::asio::yield_context yield)
Send message (encodes, compresses if enabled, frames, encrypts).
Result< Message > receive_message(boost::asio::yield_context yield)
Receive message (decrypts, deframes, decompresses, decodes).
void enable_compression()
Enable compression after hello exchange.
void close()
Close the underlying socket, unblocking any pending receive_message call.
bool is_compression_enabled() const
Query state.
const auth::FrameSecrets & cipher_secrets() const
Access cipher secrets (grouped values).

Public Functions Documentation

function MessageStream

MessageStream(
    std::unique_ptr< FrameCipher > cipher,
    socket::SocketTransport transport
)

Takes ownership of cipher and socket transport.

function send_message

VoidResult send_message(
    const MessageSendParams & params,
    boost::asio::yield_context yield
)

Send message (encodes, compresses if enabled, frames, encrypts).

Parameters:

  • params Message send parameters.
  • yield Boost.Asio stackful coroutine context.

Return: Success or SessionError on failure.

function receive_message

Result< Message > receive_message(
    boost::asio::yield_context yield
)

Receive message (decrypts, deframes, decompresses, decodes).

Parameters:

  • yield Boost.Asio stackful coroutine context.

Return: Decoded Message on success, SessionError on failure.

function enable_compression

inline void enable_compression()

Enable compression after hello exchange.

function close

void close()

Close the underlying socket, unblocking any pending receive_message call.

function is_compression_enabled

inline bool is_compression_enabled() const

Query state.

function cipher_secrets

inline const auth::FrameSecrets & cipher_secrets() const

Access cipher secrets (grouped values).


Updated on 2026-04-13 at 23:22:46 -0700