15 constexpr auto operator()(Sched&& sched, ExtraArgs&&... extra_args)
const {
18 "async_make_socket() customizations must return a deferred di::AsyncResource instance.");
19 return tag_invoke(*
this, di::forward<Sched>(sched), di::forward<ExtraArgs>(extra_args)...);
24 template<
typename Socket,
typename... ExtraArgs>
26 constexpr auto operator()(Socket&& socket, ExtraArgs&&... extra_args)
const {
29 "async_accept() customizations must return a deferred di::AsyncResource instance.");
30 return tag_invoke(*
this, di::forward<Socket>(socket), di::forward<ExtraArgs>(extra_args)...);
35 template<
typename Socket,
typename... ExtraArgs>
37 constexpr auto operator()(Socket&& socket, ExtraArgs&&... extra_args)
const
40 "async_bind() customizations must return a sender of void.");
41 return tag_invoke(*
this, di::forward<Socket>(socket), di::forward<ExtraArgs>(extra_args)...);
46 template<
typename Socket,
typename... ExtraArgs>
48 constexpr auto operator()(Socket&& socket, ExtraArgs&&... extra_args)
const
51 "async_connect() customizations must return a sender of void.");
52 return tag_invoke(*
this, di::forward<Socket>(socket), di::forward<ExtraArgs>(extra_args)...);
57 template<
typename Socket,
typename... ExtraArgs>
59 constexpr auto operator()(Socket&& socket, ExtraArgs&&... extra_args)
const
62 "async_listen() customizations must return a sender of void.");
63 return tag_invoke(*
this, di::forward<Socket>(socket), di::forward<ExtraArgs>(extra_args)...);
68 template<
typename Socket,
typename... ExtraArgs>
70 constexpr auto operator()(Socket&& socket, ExtraArgs&&... extra_args)
const
73 "async_shutdown() customizations must return a sender of void.");
74 return tag_invoke(*
this, di::forward<Socket>(socket), di::forward<ExtraArgs>(extra_args)...);
Checks that a type model AsyncResource.
Definition run.h:50
Definition scheduler.h:21
Definition sender_of.h:26
Definition tag_invoke.h:33
Definition async_net.h:11
constexpr auto async_connect
Definition async_net.h:82
constexpr auto async_shutdown
Definition async_net.h:84
constexpr auto async_bind
Definition async_net.h:81
constexpr auto async_accept
Definition async_net.h:80
constexpr auto async_make_socket
Definition async_net.h:79
constexpr auto async_listen
Definition async_net.h:83
constexpr tag_invoke_detail::TagInvokeFn tag_invoke
Definition tag_invoke.h:22
Definition async_net.h:23
Definition async_net.h:34
Definition async_net.h:45
Definition async_net.h:56
Definition async_net.h:12
Definition async_net.h:67