proxygen
|
#include <ProducerConsumerQueue.h>
Public Types | |
typedef T | value_type |
Public Member Functions | |
ProducerConsumerQueue (const ProducerConsumerQueue &)=delete | |
ProducerConsumerQueue & | operator= (const ProducerConsumerQueue &)=delete |
ProducerConsumerQueue (uint32_t size) | |
~ProducerConsumerQueue () | |
template<class... Args> | |
bool | write (Args &&...recordArgs) |
bool | read (T &record) |
T * | frontPtr () |
void | popFront () |
bool | isEmpty () const |
bool | isFull () const |
size_t | sizeGuess () const |
size_t | capacity () const |
Private Types | |
using | AtomicIndex = std::atomic< unsigned int > |
Private Attributes | |
char | pad0_ [hardware_destructive_interference_size] |
const uint32_t | size_ |
T *const | records_ |
AtomicIndex | readIndex_ |
AtomicIndex | writeIndex_ |
char | pad1_ [hardware_destructive_interference_size-sizeof(AtomicIndex)] |
Definition at line 39 of file ProducerConsumerQueue.h.
|
private |
Definition at line 175 of file ProducerConsumerQueue.h.
typedef T folly::ProducerConsumerQueue< T >::value_type |
Definition at line 40 of file ProducerConsumerQueue.h.
|
delete |
|
inlineexplicit |
Definition at line 50 of file ProducerConsumerQueue.h.
References folly::ProducerConsumerQueue< T >::records_.
|
inline |
Definition at line 61 of file ProducerConsumerQueue.h.
References testing::Args(), bm::free(), folly::ProducerConsumerQueue< T >::readIndex_, folly::ProducerConsumerQueue< T >::records_, folly::ProducerConsumerQueue< T >::size_, value, and folly::ProducerConsumerQueue< T >::writeIndex_.
|
inline |
Definition at line 170 of file ProducerConsumerQueue.h.
References folly::ProducerConsumerQueue< T >::size_.
Referenced by TEST().
|
inline |
Definition at line 116 of file ProducerConsumerQueue.h.
References folly::ProducerConsumerQueue< T >::readIndex_, folly::ProducerConsumerQueue< T >::records_, and folly::ProducerConsumerQueue< T >::writeIndex_.
|
inline |
Definition at line 138 of file ProducerConsumerQueue.h.
References folly::ProducerConsumerQueue< T >::readIndex_, and folly::ProducerConsumerQueue< T >::writeIndex_.
Referenced by TEST().
|
inline |
Definition at line 143 of file ProducerConsumerQueue.h.
References folly::ProducerConsumerQueue< T >::readIndex_, folly::ProducerConsumerQueue< T >::size_, and folly::ProducerConsumerQueue< T >::writeIndex_.
Referenced by TEST().
|
delete |
|
inline |
Definition at line 126 of file ProducerConsumerQueue.h.
References folly::ProducerConsumerQueue< T >::readIndex_, folly::ProducerConsumerQueue< T >::records_, folly::ProducerConsumerQueue< T >::size_, and folly::ProducerConsumerQueue< T >::writeIndex_.
|
inline |
Definition at line 97 of file ProducerConsumerQueue.h.
References folly::gen::move, folly::ProducerConsumerQueue< T >::readIndex_, folly::ProducerConsumerQueue< T >::records_, folly::ProducerConsumerQueue< T >::size_, and folly::ProducerConsumerQueue< T >::writeIndex_.
Referenced by TEST(), and PCQ< T >::try_dequeue().
|
inline |
Definition at line 160 of file ProducerConsumerQueue.h.
References folly::ProducerConsumerQueue< T >::readIndex_, folly::ProducerConsumerQueue< T >::size_, and folly::ProducerConsumerQueue< T >::writeIndex_.
Referenced by TEST().
|
inline |
Definition at line 80 of file ProducerConsumerQueue.h.
References folly::ProducerConsumerQueue< T >::readIndex_, folly::ProducerConsumerQueue< T >::records_, folly::ProducerConsumerQueue< T >::size_, folly::T, and folly::ProducerConsumerQueue< T >::writeIndex_.
Referenced by PCQ< T >::enqueue(), TEST(), and PCQ< T >::try_enqueue().
|
private |
Definition at line 177 of file ProducerConsumerQueue.h.
|
private |
Definition at line 184 of file ProducerConsumerQueue.h.
|
private |
Definition at line 181 of file ProducerConsumerQueue.h.
Referenced by folly::ProducerConsumerQueue< T >::frontPtr(), folly::ProducerConsumerQueue< T >::isEmpty(), folly::ProducerConsumerQueue< T >::isFull(), folly::ProducerConsumerQueue< T >::popFront(), folly::ProducerConsumerQueue< T >::read(), folly::ProducerConsumerQueue< T >::sizeGuess(), folly::ProducerConsumerQueue< T >::write(), and folly::ProducerConsumerQueue< T >::~ProducerConsumerQueue().
|
private |
Definition at line 179 of file ProducerConsumerQueue.h.
Referenced by folly::ProducerConsumerQueue< T >::frontPtr(), folly::ProducerConsumerQueue< T >::popFront(), folly::ProducerConsumerQueue< T >::ProducerConsumerQueue(), folly::ProducerConsumerQueue< T >::read(), folly::ProducerConsumerQueue< T >::write(), and folly::ProducerConsumerQueue< T >::~ProducerConsumerQueue().
|
private |
Definition at line 178 of file ProducerConsumerQueue.h.
Referenced by folly::ProducerConsumerQueue< T >::capacity(), folly::ProducerConsumerQueue< T >::isFull(), folly::ProducerConsumerQueue< T >::popFront(), folly::ProducerConsumerQueue< T >::read(), folly::ProducerConsumerQueue< T >::sizeGuess(), folly::ProducerConsumerQueue< T >::write(), and folly::ProducerConsumerQueue< T >::~ProducerConsumerQueue().
|
private |
Definition at line 182 of file ProducerConsumerQueue.h.
Referenced by folly::ProducerConsumerQueue< T >::frontPtr(), folly::ProducerConsumerQueue< T >::isEmpty(), folly::ProducerConsumerQueue< T >::isFull(), folly::ProducerConsumerQueue< T >::popFront(), folly::ProducerConsumerQueue< T >::read(), folly::ProducerConsumerQueue< T >::sizeGuess(), folly::ProducerConsumerQueue< T >::write(), and folly::ProducerConsumerQueue< T >::~ProducerConsumerQueue().