AsyncBerkeley
Asynchronous Berkeley sockets. Simple.
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | List of all members
io::execution::basic_poll_multiplexer< Allocator >::sender< Fn > Struct Template Reference

A sender for the poll multiplexer. More...

#include <io/execution/poll_multiplexer.hpp>

Classes

struct  state
 An operation state for the poll multiplexer. More...
 

Public Types

using sender_concept = stdexec::sender_t
 The sender concept type.
 
using completion_signatures = stdexec::completion_signatures< stdexec::set_value_t(typename std::invoke_result_t< Fn >::value_type), stdexec::set_error_t(int)>
 The completion signatures for the sender.
 

Public Member Functions

template<typename Receiver >
auto connect (Receiver &&receiver) -> state< std::decay_t< Receiver > >
 Connects the sender to a receiver.
 

Public Attributes

Fn func
 The completion handler.
 
std::shared_ptr< socket_handlesocket
 The socket to operate on.
 
map_typedemux = nullptr
 The demultiplexer for the socket.
 
vector_typelist = nullptr
 The list of poll events.
 
std::mutex * mtx = nullptr
 A mutex for thread safety.
 
execution_trigger trigger {}
 The poll trigger.
 

Detailed Description

template<AllocatorLike Allocator = std::allocator<char>>
template<Completion Fn>
struct io::execution::basic_poll_multiplexer< Allocator >::sender< Fn >

A sender for the poll multiplexer.

This sender is used to submit I/O operations to the multiplexer. It will complete when the I/O operation is ready.

Template Parameters
FnThe function type.

Member Function Documentation

◆ connect()

template<AllocatorLike Allocator = std::allocator<char>>
template<Completion Fn>
template<typename Receiver >
auto io::execution::basic_poll_multiplexer< Allocator >::sender< Fn >::connect ( Receiver &&  receiver) -> state< std::decay_t< Receiver > >

Connects the sender to a receiver.

Parameters
receiverThe receiver to connect to.
Returns
The operation state.

The documentation for this struct was generated from the following file: