Clearmatics Libff
0.1
C++ library for Finite Fields and Elliptic Curves
|
#include <concurrent_fifo.hpp>
Public Member Functions | |
concurrent_buffer_fifo_spsc ()=delete | |
concurrent_buffer_fifo_spsc (const concurrent_buffer_fifo_spsc &)=delete | |
concurrent_buffer_fifo_spsc & | operator= (const concurrent_buffer_fifo_spsc &)=delete |
concurrent_buffer_fifo_spsc (size_t num_buffers, size_t num_entries_per_buffer) | |
~concurrent_buffer_fifo_spsc () | |
T * | try_enqueue_begin () |
T * | enqueue_begin_wait () |
void | enqueue_end () |
const T * | try_dequeue_begin () |
const T * | dequeue_begin_wait () |
void | dequeue_end () |
Protected Member Functions | |
T * | enqueue_next_buffer (T **const buffer_ptr) |
Protected Attributes | |
concurrent_fifo_spsc< T * > | _queue |
const size_t | _entries_per_buffer |
T **const | _buffers |
size_t | _next_buffer_idx |
Similar semantics as concurrent_fifo_spsc, but entries are pre-allocated flat arrays of some runtime-determined size. Can be used to reduce contention on the fifo (en/dequeue chunks) or to operate on logical units.
Definition at line 72 of file concurrent_fifo.hpp.
|
delete |
|
delete |
libff::concurrent_buffer_fifo_spsc< T >::concurrent_buffer_fifo_spsc | ( | size_t | num_buffers, |
size_t | num_entries_per_buffer | ||
) |
libff::concurrent_buffer_fifo_spsc< T >::~concurrent_buffer_fifo_spsc | ( | ) |
const T* libff::concurrent_buffer_fifo_spsc< T >::dequeue_begin_wait | ( | ) |
void libff::concurrent_buffer_fifo_spsc< T >::dequeue_end | ( | ) |
T* libff::concurrent_buffer_fifo_spsc< T >::enqueue_begin_wait | ( | ) |
void libff::concurrent_buffer_fifo_spsc< T >::enqueue_end | ( | ) |
|
protected |
|
delete |
const T* libff::concurrent_buffer_fifo_spsc< T >::try_dequeue_begin | ( | ) |
Similar to concurrent_fifo_spsc::try_dequeue_begin(), except that the returned value points to an array of num_entries_per_buffer.
T* libff::concurrent_buffer_fifo_spsc< T >::try_enqueue_begin | ( | ) |
Similar to concurrent_fifo_spsc::try_enqueue_begin(), except that the returned value points to an array of num_entries_per_buffer.
|
protected |
Definition at line 105 of file concurrent_fifo.hpp.
|
protected |
Definition at line 104 of file concurrent_fifo.hpp.
|
protected |
Definition at line 106 of file concurrent_fifo.hpp.
|
protected |
Definition at line 103 of file concurrent_fifo.hpp.