Skip to content

eth::IEthSessionChannel

Minimal session-facing seam used by ETH runner logic and tests.

#include <eth_session_channel.hpp>

Inherited by eth::RlpxEthSessionChannel

Public Functions

Name
virtual ~IEthSessionChannel() =default
virtual uint8_t negotiated_eth_version() const =0
virtual uint8_t negotiated_eth_offset() const =0
virtual const rlpx::PeerInfo & peer_info() const =0
virtual rlpx::VoidResult post_message(rlpx::framing::Message message) =0
virtual rlpx::Result< rlpx::framing::Message > receive_message(boost::asio::yield_context yield) =0
virtual rlpx::Result< rlpx::framing::Message > receive_message_with_timeout(std::chrono::steady_clock::duration timeout, boost::asio::yield_context yield) =0
virtual void set_eth_message_handler(rlpx::EthMessageHandler handler) =0

Public Functions Documentation

function ~IEthSessionChannel

virtual ~IEthSessionChannel() =default

function negotiated_eth_version

virtual uint8_t negotiated_eth_version() const =0

Reimplemented by: eth::RlpxEthSessionChannel::negotiated_eth_version

function negotiated_eth_offset

virtual uint8_t negotiated_eth_offset() const =0

Reimplemented by: eth::RlpxEthSessionChannel::negotiated_eth_offset

function peer_info

virtual const rlpx::PeerInfo & peer_info() const =0

Reimplemented by: eth::RlpxEthSessionChannel::peer_info

function post_message

virtual rlpx::VoidResult post_message(
    rlpx::framing::Message message
) =0

Reimplemented by: eth::RlpxEthSessionChannel::post_message

function receive_message

virtual rlpx::Result< rlpx::framing::Message > receive_message(
    boost::asio::yield_context yield
) =0

Reimplemented by: eth::RlpxEthSessionChannel::receive_message

function receive_message_with_timeout

virtual rlpx::Result< rlpx::framing::Message > receive_message_with_timeout(
    std::chrono::steady_clock::duration timeout,
    boost::asio::yield_context yield
) =0

Reimplemented by: eth::RlpxEthSessionChannel::receive_message_with_timeout

function set_eth_message_handler

virtual void set_eth_message_handler(
    rlpx::EthMessageHandler handler
) =0

Reimplemented by: eth::RlpxEthSessionChannel::set_eth_message_handler


Updated on 2026-06-05 at 17:22:18 -0700