Mixes for Privacy and Anonymity in the Internet
|
Public Member Functions | |
BlockingReaderWriterQueue (size_t maxSize=15) AE_NO_TSAN | |
BlockingReaderWriterQueue (BlockingReaderWriterQueue &&other) AE_NO_TSAN | |
BlockingReaderWriterQueue & | operator= (BlockingReaderWriterQueue &&other) AE_NO_TSAN |
AE_FORCEINLINE bool | enqueue (UINT8 *const &element) AE_NO_TSAN |
bool | try_dequeue (UINT8 *&result) AE_NO_TSAN |
void | wait_dequeue (UINT8 *&result) AE_NO_TSAN |
bool | wait_dequeue_timed (UINT8 *&result, std::int64_t timeout_usecs) AE_NO_TSAN |
AE_FORCEINLINE UINT8 * | peek () AE_NO_TSAN |
AE_FORCEINLINE bool | pop () AE_NO_TSAN |
AE_FORCEINLINE size_t | size_approx () const AE_NO_TSAN |
Private Attributes | |
ReaderWriterQueue | inner |
std::unique_ptr< spsc_sema::LightweightSemaphore > | sema |
|
explicit |
BlockingReaderWriterQueue::BlockingReaderWriterQueue | ( | BlockingReaderWriterQueue && | other | ) |
AE_FORCEINLINE bool BlockingReaderWriterQueue::enqueue | ( | UINT8 *const & | element | ) |
References ReaderWriterQueue::enqueue(), inner, and sema.
BlockingReaderWriterQueue& BlockingReaderWriterQueue::operator= | ( | BlockingReaderWriterQueue && | other | ) |
AE_FORCEINLINE UINT8* BlockingReaderWriterQueue::peek | ( | ) |
References inner, and ReaderWriterQueue::peek().
AE_FORCEINLINE bool BlockingReaderWriterQueue::pop | ( | ) |
References AE_UNUSED, inner, ReaderWriterQueue::pop(), and sema.
AE_FORCEINLINE size_t BlockingReaderWriterQueue::size_approx | ( | ) | const |
References sema.
bool BlockingReaderWriterQueue::try_dequeue | ( | UINT8 *& | result | ) |
References AE_UNUSED, inner, sema, and ReaderWriterQueue::try_dequeue().
void BlockingReaderWriterQueue::wait_dequeue | ( | UINT8 *& | result | ) |
References AE_UNUSED, inner, sema, and ReaderWriterQueue::try_dequeue().
bool BlockingReaderWriterQueue::wait_dequeue_timed | ( | UINT8 *& | result, |
std::int64_t | timeout_usecs | ||
) |
References AE_UNUSED, inner, sema, and ReaderWriterQueue::try_dequeue().
|
private |
Referenced by enqueue(), operator=(), peek(), pop(), try_dequeue(), wait_dequeue(), and wait_dequeue_timed().
|
private |
Referenced by enqueue(), operator=(), pop(), size_approx(), try_dequeue(), wait_dequeue(), and wait_dequeue_timed().