rlpx::socket::SocketTransport¶
#include <socket_transport.hpp>
Public Types¶
| Name | |
|---|---|
| using boost::asio::ip::tcp | tcp |
| using boost::asio::strand< boost::asio::any_io_executor > | Strand |
Public Functions¶
| Name | |
|---|---|
| SocketTransport(tcp::socket socket) Create transport from connected socket. |
|
| SocketTransport(const SocketTransport & ) =delete | |
| SocketTransport & | operator=(const SocketTransport & ) =delete |
| SocketTransport(SocketTransport && ) =default | |
| SocketTransport & | operator=(SocketTransport && ) =default |
| Result< ByteBuffer > | read_exact(size_t num_bytes, boost::asio::yield_context yield) Async read exact number of bytes. |
| VoidResult | write_all(ByteView data, boost::asio::yield_context yield) Async write all bytes. |
| VoidResult | close() Close socket gracefully. |
| bool | is_open() const Query connection state. |
| std::string | remote_address() const |
| uint16_t | remote_port() const |
| std::string | local_address() const |
| uint16_t | local_port() const |
Detailed Description¶
Transport layer abstraction over TCP socket. Provides async read/write operations with proper error handling.
Public Types Documentation¶
using tcp¶
using Strand¶
Public Functions Documentation¶
function SocketTransport¶
Create transport from connected socket.
function SocketTransport¶
function operator=¶
function SocketTransport¶
function operator=¶
function read_exact¶
Async read exact number of bytes.
Parameters:
- num_bytes Number of bytes to read.
- yield Boost.Asio stackful coroutine context.
Return: Filled ByteBuffer on success, SessionError on failure.
function write_all¶
Async write all bytes.
Parameters:
- data Data to send.
- yield Boost.Asio stackful coroutine context.
Return: Success or SessionError on failure.
function close¶
Close socket gracefully.
function is_open¶
Query connection state.
function remote_address¶
function remote_port¶
function local_address¶
function local_port¶
Updated on 2026-04-13 at 23:22:46 -0700