| .. _spsc_pbuf: |
| |
| Single Producer Single Consumer Packet Buffer |
| ============================================= |
| |
| A :dfn:`Single Producer Single Consumer Packet Buffer (SPSC_PBUF)` is a circular |
| buffer, whose contents are stored in first-in-first-out order. Variable size |
| packets are stored in the buffer. Packet buffer works under assumption that there |
| is a single context that produces packets and a single context that consumes the |
| data. |
| |
| Implementation is focused on performance and memory footprint. |
| |
| Packets are added to the buffer using :c:func:`spsc_pbuf_write` which copies a |
| data into the buffer. If the buffer is full error is returned. |
| |
| Packets are copied out of the buffer using :c:func:`spsc_pbuf_read`. |