25#ifndef JOIN_CORE_BACKOFF_HPP
26#define JOIN_CORE_BACKOFF_HPP
32#if defined(__x86_64__) || defined(__i386__)
62#if defined(__x86_64__) || defined(__i386__)
64#elif defined(__aarch64__) || defined(__arm__)
65 __asm__ __volatile__ (
"yield" :::
"memory");
71 std::this_thread::yield ();
89 return _count >= _spin;
adaptive backoff strategy for busy-wait loops.
Definition backoff.hpp:43
void reset() noexcept
reset backoff to initial state.
Definition backoff.hpp:78
Backoff(size_t spin=200)
construct a backoff strategy.
Definition backoff.hpp:49
void operator()() noexcept
execute one backoff iteration.
Definition backoff.hpp:58
bool spinExhausted() const noexcept
check if initial spin phase is over.
Definition backoff.hpp:87
Definition acceptor.hpp:32