AsyncBerkeley
Asynchronous Berkeley sockets. Simple.
Loading...
Searching...
No Matches
io::Multiplexer Concept Reference

Concept for a multiplexer. More...

#include <io/detail/concepts.hpp>

Concept definition

template<typename T>
concept io::Multiplexer = requires(T mux) {
requires MuxTag<T>;
typename T::demultiplexer;
typename T::template sender<decltype([]() -> std::optional<int> {
return std::nullopt;
})>;
mux.set(std::shared_ptr<socket::socket_handle>{},
execution::execution_trigger{},
[]() -> std::optional<int> { return std::nullopt; });
mux.wait_for(typename T::interval_type{});
}
Concept for a multiplexer.
Definition concepts.hpp:110
Concept for a multiplexer tag.
Definition concepts.hpp:80

Detailed Description

Concept for a multiplexer.

A multiplexer is responsible for waiting for events and dispatching them to completion handlers.

Template Parameters
TThe type to check.