![]() |
Multi-ApplicationOnlineProfiling
2.1
|
This is an implementation of a Buffered FIFO data storage. More...
Modules | |
| Internals | |
| Not to be used directly. | |
Data Structures | |
| struct | Buffered_FIFO |
| This is a struct defining a FIFO It is composed of several Buffered_FIFO_chunk. More... | |
Functions | |
| void | Buffered_FIFO_init (struct Buffered_FIFO *fifo, uint64_t chunk_size, size_t elem_size) |
| Initializes a Buffered_FIFO. More... | |
| void | Buffered_FIFO_release (struct Buffered_FIFO *fifo, void(*free_func)(void *)) |
| releases a FIFO More... | |
| void * | Buffered_FIFO_push (struct Buffered_FIFO *fifo, void *elem) |
| Pushes an element into a FIFO. More... | |
| void * | Buffered_FIFO_pop (struct Buffered_FIFO *fifo, void *dest) |
| Pops an element from a FIFO. More... | |
| uint64_t | Buffered_FIFO_count (struct Buffered_FIFO *fifo) |
| Thread-safely gets the number of elements stored in the FIFO. More... | |
This is an implementation of a Buffered FIFO data storage.
The FIFO (Buffered_FIFO) is composed of several fixed size chunks (Buffered_FIFO_chunk).
Sample use:
Thus in this configuration and by definition of the FIFO, we pop elems in order (0,1,2).
| uint64_t Buffered_FIFO_count | ( | struct Buffered_FIFO * | fifo | ) |
Thread-safely gets the number of elements stored in the FIFO.
| fifo | the FIFO where to count elements |
Definition at line 23 of file Buffered_FIFO.c.


| void Buffered_FIFO_init | ( | struct Buffered_FIFO * | fifo, |
| uint64_t | chunk_size, | ||
| size_t | elem_size | ||
| ) |
Initializes a Buffered_FIFO.
| fifo | the FIFO to initialize |
| chunk_size | the wanted size for the chunks |
| elem_size | the size of stored elements |
Definition at line 119 of file Buffered_FIFO.c.

| void* Buffered_FIFO_pop | ( | struct Buffered_FIFO * | fifo, |
| void * | dest | ||
| ) |
Pops an element from a FIFO.
| fifo | the FIFO from where to pop the element |
| dest | where to copy the popped element |
Definition at line 182 of file Buffered_FIFO.c.


| void* Buffered_FIFO_push | ( | struct Buffered_FIFO * | fifo, |
| void * | elem | ||
| ) |
Pushes an element into a FIFO.
| fifo | the FIFO where to push the element |
| elem | the element to push |
Definition at line 143 of file Buffered_FIFO.c.


| void Buffered_FIFO_release | ( | struct Buffered_FIFO * | fifo, |
| void(*)(void *) | free_func | ||
| ) |
releases a FIFO
| fifo | the FIFO to release |
| free_func |
Definition at line 133 of file Buffered_FIFO.c.
