|
join 1.0
lightweight network framework library
|
#include <liburing.h>#include <cstdint>

Go to the source code of this file.
Classes | |
| struct | join::IoDefaultPolicy |
| struct | join::IoHybridPolicy |
| struct | join::IoSqpollPolicy |
Namespaces | |
| namespace | join |
Variables | |
| template<typename T > | |
| constexpr bool | join::has_sqpoll_v = (T::flags & IORING_SETUP_SQPOLL) != 0 |
| template<typename T > | |
| constexpr bool | join::has_cq_entries_v = requires { T::cqEntries; } |
| template<typename T > | |
| constexpr bool | join::has_sq_thread_idle_v = requires { T::sqThreadIdle; } |
| template<typename T > | |
| constexpr bool | join::has_sq_thread_cpu_v = requires { T::sqThreadCpu; } |
| template<typename T > | |
| constexpr bool | join::has_spin_v = requires { T::spinNs; } |
| template<typename T > | |
| constexpr bool | join::is_default_v = !has_spin_v<T> && !has_sqpoll_v<T> |
| template<typename T > | |
| constexpr uint64_t | join::spin_ns_v = 10'000 |
| template<typename T > | |
| constexpr uint64_t | join::spin_ns_v< T > = T::spinNs |
| template<typename T > | |
| constexpr bool | join::has_yield_ns_v = requires { T::yieldNs; } |
| template<typename T > | |
| constexpr uint64_t | join::yield_ns_v = 100'000 |
| template<typename T > | |
| constexpr uint64_t | join::yield_ns_v< T > = T::yieldNs |
| template<typename T > | |
| constexpr bool | join::has_sleep_ns_v = requires { T::sleepNs; } |
| template<typename T > | |
| constexpr uint64_t | join::sleep_ns_v = 0 |
| template<typename T > | |
| constexpr uint64_t | join::sleep_ns_v< T > = T::sleepNs |
| template<typename T > | |
| constexpr bool | join::has_tick_ns_v = requires { T::tickNs; } |
| template<typename T > | |
| constexpr uint64_t | join::tick_ns_v = 1'000 |
| template<typename T > | |
| constexpr uint64_t | join::tick_ns_v< T > = T::tickNs |