21#ifndef IO_SOCKET_DIALOG_HPP
22#define IO_SOCKET_DIALOG_HPP
29template <Multiplexer Mux>
class executor;
49 std::shared_ptr<socket_handle>
socket;
54 [[nodiscard]]
explicit operator bool() const noexcept;
60 [[nodiscard]] explicit operator native_socket_type() const;
118 native_socket_type rhs) -> std::strong_ordering;
128auto operator==(const
socket_dialog<Mux> &lhs, native_socket_type rhs) ->
bool;
132#include "detail/async_operations.hpp"
133#include "impl/socket_dialog_impl.hpp"
An executor that uses a multiplexer to wait for events.
Definition executor.hpp:46
A thread-safe, move-only RAII wrapper for a native socket handle.
Definition socket_handle.hpp:38
Concept for a multiplexer.
Definition concepts.hpp:110
This file defines concepts for the execution components.
Provides high-level interfaces for executors and completion triggers.
Definition executor.hpp:33
The io::socket namespace provides a cross-platform abstraction for socket-level I/O operations.
Definition poll_multiplexer.hpp:36
Cross-platform, thread-safe RAII socket wrapper.
A dialog that facilitates asynchronous operations on the socket by the executor.
Definition socket_dialog.hpp:43
std::weak_ptr< executor_type > executor
A weak pointer to the executor that owns the socket.
Definition socket_dialog.hpp:47
std::shared_ptr< socket_handle > socket
A shared pointer to the socket handle.
Definition socket_dialog.hpp:49