Mixe for Privacy and Anonymity in the Internet
|
#include <cassert>
#include <type_traits>
#include <cerrno>
#include <cstdint>
#include <ctime>
#include <atomic>
#include <utility>
Go to the source code of this file.
Classes | |
class | weak_atomic< T > |
class | spsc_sema::LightweightSemaphore |
Namespaces | |
spsc_sema | |
Macros | |
#define | AE_ARCH_UNKNOWN |
#define | AE_UNUSED(x) ((void)x) |
#define | AE_NO_TSAN |
#define | AE_FORCEINLINE inline |
#define | AE_ALIGN(x) __attribute__((aligned(x))) |
#define | AE_USE_STD_ATOMIC_FOR_WEAK_ATOMIC |
Enumerations | |
enum | memory_order { memory_order_relaxed , memory_order_acquire , memory_order_release , memory_order_acq_rel , memory_order_seq_cst , memory_order_sync = memory_order_seq_cst } |
Functions | |
AE_FORCEINLINE void | compiler_fence (memory_order order) AE_NO_TSAN |
AE_FORCEINLINE void | fence (memory_order order) AE_NO_TSAN |
#define AE_ALIGN | ( | x | ) | __attribute__((aligned(x))) |
Definition at line 75 of file atomicops.h.
#define AE_ARCH_UNKNOWN |
Definition at line 38 of file atomicops.h.
#define AE_FORCEINLINE inline |
Definition at line 64 of file atomicops.h.
#define AE_NO_TSAN |
Definition at line 53 of file atomicops.h.
#define AE_UNUSED | ( | x | ) | ((void)x) |
Definition at line 43 of file atomicops.h.
#define AE_USE_STD_ATOMIC_FOR_WEAK_ATOMIC |
Definition at line 220 of file atomicops.h.
enum memory_order |
Enumerator | |
---|---|
memory_order_relaxed | |
memory_order_acquire | |
memory_order_release | |
memory_order_acq_rel | |
memory_order_seq_cst | |
memory_order_sync |
Definition at line 82 of file atomicops.h.
AE_FORCEINLINE void compiler_fence | ( | memory_order | order | ) |
Definition at line 191 of file atomicops.h.
References memory_order_acq_rel, memory_order_acquire, memory_order_relaxed, memory_order_release, and memory_order_seq_cst.
Referenced by ReaderWriterQueue::pop(), ReaderWriterQueue::try_dequeue(), and spsc_sema::LightweightSemaphore::waitWithPartialSpinning().
AE_FORCEINLINE void fence | ( | memory_order | order | ) |
Definition at line 203 of file atomicops.h.
References memory_order_acq_rel, memory_order_acquire, memory_order_relaxed, memory_order_release, and memory_order_seq_cst.
Referenced by ReaderWriterQueue::inner_enqueue(), ReaderWriterQueue::peek(), ReaderWriterQueue::pop(), ReaderWriterQueue::ReaderWriterQueue(), ReaderWriterQueue::size_approx(), ReaderWriterQueue::try_dequeue(), and ReaderWriterQueue::~ReaderWriterQueue().