Condy v1.1.0
C++ Asynchronous System Call Layer for Linux
Loading...
Searching...
No Matches
awaiters.hpp File Reference

Definitions of awaiter types for asynchronous operations. More...

#include "condy/concepts.hpp"
#include "condy/condy_uring.hpp"
#include "condy/context.hpp"
#include "condy/finish_handles.hpp"
#include "condy/ring.hpp"
#include "condy/runtime.hpp"
#include "condy/work_type.hpp"
#include <coroutine>
#include <cstddef>
#include <cstdint>
#include <tuple>

Go to the source code of this file.

Namespaces

namespace  condy
 The main namespace for the Condy library.

Typedefs

template<typename Awaiter>
using condy::RangedParallelAllAwaiter
 Awaiter to wait for all operations in a range to complete.
template<typename Awaiter>
using condy::RangedParallelAnyAwaiter
 Awaiter to wait for any operation in a range to complete.
template<typename Awaiter>
using condy::RangedWhenAllAwaiter
 Awaiter to wait for all operations in a range to complete.
template<typename Awaiter>
using condy::RangedWhenAnyAwaiter
 Awaiter to wait for any operation in a range to complete.
template<typename Awaiter>
using condy::RangedLinkAwaiter = RangedLinkAwaiterBase<IOSQE_IO_LINK, Awaiter>
 Awaiter that links multiple operations in a range using IO_LINK.
template<typename Awaiter>
using condy::RangedHardLinkAwaiter = RangedLinkAwaiterBase<IOSQE_IO_HARDLINK, Awaiter>
 Awaiter that links multiple operations in a range using IO_HARDLINK.
template<typename... Awaiter>
using condy::ParallelAllAwaiter
 Awaiter to wait for all operations to complete in parallel.
template<typename... Awaiter>
using condy::ParallelAnyAwaiter
 Awaiter to wait for any operation to complete in parallel.
template<typename... Awaiter>
using condy::WhenAllAwaiter
 Awaiter that waits for all operations to complete in parallel.
template<typename... Awaiter>
using condy::WhenAnyAwaiter
 Awaiter that waits for any operation to complete in parallel.
template<typename... Awaiter>
using condy::LinkAwaiter = LinkAwaiterBase<IOSQE_IO_LINK, Awaiter...>
 Awaiter that links multiple operations using IO_LINK.
template<typename... Awaiter>
using condy::HardLinkAwaiter = LinkAwaiterBase<IOSQE_IO_HARDLINK, Awaiter...>
 Awaiter that links multiple operations using IO_HARDLINK.

Detailed Description

Definitions of awaiter types for asynchronous operations.

This file defines a set of awaiter types used to represent and manage asynchronous operations. These awaiters encapsulate the logic for preparing, submitting, and resuming asynchronous tasks, and provide the building blocks for composing complex asynchronous workflows.