27 static void init(uv_loop_t * , UvStreamType * ) {
28 BOOST_ASSERT_MSG(
false,
"UvStreamInit not specialized for this type");
78 std::optional<std::coroutine_handle<>>
handle_;
81 using Accepted = std::variant<uv_status, StreamType>;
Definition multipromise.h:133
Definition stream_server_base.h:38
StreamServerBase(StreamServerBase &&)=default
StreamServerBase & operator=(StreamServerBase &&)=default
std::unique_ptr< UvStreamType > socket_
Definition stream_server_base.h:59
MultiPromise< StreamType > listen(int backlog=128)
Definition stream_server_base_impl.cc:61
Promise< void > close()
Close server and stop accepting client connections; must be awaited.
Definition stream_server_base_impl.cc:43
StreamServerBase(const StreamServerBase &)=delete
StreamServerBase(std::unique_ptr< UvStreamType > socket)
Definition stream_server_base.h:57
StreamServerBase & operator=(const StreamServerBase &)=delete
static void onNewConnection(uv_stream_t *stream, uv_status status)
Definition stream_server_base_impl.cc:145
~StreamServerBase()
Definition stream_server_base_impl.cc:31
int uv_status
Result of a libuv operation, an errno error code.
Definition internal_utils.h:22
Definition async_work.cc:17
Definition stream_server_base.h:64
std::variant< uv_status, StreamType > Accepted
Definition stream_server_base.h:81
bool await_ready() const
Definition stream_server_base_impl.cc:140
bool await_resume() const
Definition stream_server_base.h:72
bool await_suspend(std::coroutine_handle<> handle)
Definition stream_server_base_impl.cc:132
void stop()
Stop a listener coroutine.
Definition stream_server_base_impl.cc:116
std::vector< Accepted > accepted_
Definition stream_server_base.h:82
bool stopped_
Definition stream_server_base.h:84
std::optional< std::coroutine_handle<> > handle_
Definition stream_server_base.h:78
UvStreamType & socket_
Definition stream_server_base.h:77
ConnectionAwaiter_(UvStreamType &socket)
Definition stream_server_base.h:65
Definition stream_server_base.h:26
static void init(uv_loop_t *, UvStreamType *)
Definition stream_server_base.h:27