FIFO context structure.
Definition at line 87 of file fifo.c.
pthread_mutex_t fifo_ctx_s::api_mutex |
Module API mutex.
Definition at line 119 of file fifo.c.
This is a circular buffer of pointers to chunks of data. Instead of managing a single pool of data, the buffer stores pointers to a fixed number of chunk objects, each one holding the reference and the size of each chunk.
Definition at line 172 of file fifo.c.
pthread_cond_t fifo_ctx_s::buf_get_signal |
Signals each time a new chunk is consumed from the FIFO buffer.
Definition at line 129 of file fifo.c.
volatile ssize_t fifo_ctx_s::buf_level |
Summation of all the size values of the chunk-buffers that compose the input buffer. Namely, is the overall input buffer level.
Definition at line 139 of file fifo.c.
pthread_cond_t fifo_ctx_s::buf_put_signal |
Signals each time a new chunk enters the FIFO buffer.
Definition at line 124 of file fifo.c.
size_t fifo_ctx_s::buf_slots_max |
Maximum number of element-slots (namely, maximum number of possible chunks) of the FIFO buffer.
Definition at line 157 of file fifo.c.
size_t fifo_ctx_s::chunk_size_max |
Maximum permitted size of chunks [bytes]. In the case of shared memory, this value must be set greater than zero. Otherwise, setting this value to zero means no limit to input chunk size.
Definition at line 165 of file fifo.c.
fifo_elem_ctx_dup_fxn_t* fifo_ctx_s::elem_ctx_dup |
Externally defined duplication function. Not applicable when using shared memory.
Definition at line 110 of file fifo.c.
fifo_elem_ctx_release_fxn_t* fifo_ctx_s::elem_ctx_release |
Externally defined releasing functions. Not applicable when using shared memory.
Definition at line 115 of file fifo.c.
volatile int fifo_ctx_s::flag_exit |
Exit flag: if set to non-zero value, FIFO module should finish/unblock transactions as fast as possible
Definition at line 98 of file fifo.c.
volatile uint32_t fifo_ctx_s::flags |
Module flags:
- FIFO_O_NONBLOCK
- FIFO_PROCESS_SHARED
Definition at line 93 of file fifo.c.
volatile int fifo_ctx_s::input_idx |
Receiver chunk-buffer index. Each time a chunk-buffer is filled with new data, we increment this index to point to the next empty receiving buffer.
Definition at line 145 of file fifo.c.
volatile int fifo_ctx_s::output_idx |
Consumer chunk-buffer index. Each time a chunk-buffer is consumed (emptied) by a consuming process, we increment this index to point to the next full buffer ready to be processed.
Definition at line 152 of file fifo.c.
volatile ssize_t fifo_ctx_s::slots_used_cnt |
Number of slots currently used.
Definition at line 134 of file fifo.c.
The documentation for this struct was generated from the following file: