| AsyncBerkeley
    Asynchronous Berkeley sockets. Simple. | 
A multiplexer that uses the poll system call.  
 More...
#include <io/execution/poll_multiplexer.hpp>
 
  
| Classes | |
| struct | demultiplexer | 
| Demultiplexes I/O operations for a socket.  More... | |
| struct | sender | 
| A sender for the poll multiplexer.  More... | |
| Public Types | |
| using | Base = basic_multiplexer< poll_t > | 
| The base class for the multiplexer. | |
| using | socket_handle = ::io::socket::socket_handle | 
| The socket handle type. | |
| using | task = Base::intrusive_task_queue::task | 
| The task type. | |
| using | native_socket_type = ::io::socket::native_socket_type | 
| The native socket type. | |
| using | vector_allocator = std::allocator_traits< Allocator >::template rebind_alloc< event_type > | 
| The allocator for the vector. | |
| using | vector_type = std::vector< event_type, vector_allocator > | 
| The vector type. | |
| using | map_allocator = std::allocator_traits< Allocator >::template rebind_alloc< demultiplexer > | 
| The allocator for the map. | |
| using | map_type = std::deque< demultiplexer, map_allocator > | 
| The map type. | |
|  Public Types inherited from io::execution::basic_multiplexer< poll_t > | |
| using | multiplexer_type = Tag | 
| The tag type for the multiplexer. | |
| Public Member Functions | |
| auto | wait_for (interval_type interval) -> size_type | 
| Waits for events to occur. | |
| template<Completion Fn> | |
| auto | set (std::shared_ptr< socket_handle > socket, execution_trigger trigger, Fn &&func) -> sender< std::decay_t< Fn > > | 
| Sets a completion handler for an event. | |
| constexpr | basic_poll_multiplexer (const Allocator &alloc=Allocator()) noexcept(noexcept(Allocator())) | 
| Default constructor. | |
A multiplexer that uses the poll system call. 
This class is a concrete implementation of the basic_multiplexer that uses the poll system call to wait for I/O events. 
| Allocator | The allocator to use for all allocations. | 
| 
 | constexprnoexcept | 
Default constructor.
| alloc | The allocator to use for all allocations. | 
| auto io::execution::basic_poll_multiplexer< Allocator >::set | ( | std::shared_ptr< socket_handle > | socket, | 
| execution_trigger | trigger, | ||
| Fn && | func | ||
| ) | -> sender< std::decay_t< Fn > > | 
Sets a completion handler for an event.
| socket | The socket to set the completion handler for. | 
| trigger | The event type to trigger on. | 
| func | The completion handler. | 
| auto io::execution::basic_poll_multiplexer< Allocator >::wait_for | ( | interval_type | interval | ) | -> size_type | 
Waits for events to occur.
| interval | The maximum time to wait for, in milliseconds. |