AsyncBerkeley
Asynchronous Berkeley sockets. Simple.
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
io::execution::basic_multiplexer< Tag >::intrusive_task_queue::task Struct Reference

An intrusive task that can be executed by the multiplexer. More...

#include <io/execution/multiplexer.hpp>

Inherits immovable.

Public Member Functions

auto execute () noexcept -> void
 Executes the task.
 

Public Attributes

tasknext = this
 Pointer to next in the intrusive queue.
 
std::variant< task *, void(*)(task *) noexcept > tail
 Tail pointer variant.
 

Detailed Description

template<MuxTag Tag>
struct io::execution::basic_multiplexer< Tag >::intrusive_task_queue::task

An intrusive task that can be executed by the multiplexer.

Member Function Documentation

◆ execute()

template<MuxTag Tag>
auto io::execution::basic_multiplexer< Tag >::intrusive_task_queue::task::execute ( ) -> void
inlinenoexcept

Executes the task.

A completion function MUST be assigned to the task before execute() is called.

Member Data Documentation

◆ tail

template<MuxTag Tag>
std::variant<task *, void (*)(task *) noexcept> io::execution::basic_multiplexer< Tag >::intrusive_task_queue::task::tail

Tail pointer variant.

This variant holds either a tail pointer for an an intrusive queue, or a function pointer for a completion task.


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