Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
Single producer, single consumer packet buffer. More...
#include <spsc_pbuf.h>
Data Fields | ||
struct spsc_pbuf_common | common | |
union { | ||
struct spsc_pbuf_ext_cache cache | ||
struct spsc_pbuf_ext_nocache nocache | ||
} | ext | |
Single producer, single consumer packet buffer.
The SPSC packet buffer implements lightweight unidirectional packet buffer with read/write semantics on top of a memory region shared by the reader and writer. It optionally embeds cache and memory barrier management to ensure correct data access.
This structure supports single writer and reader. Data stored in the buffer is encapsulated to a message (with length header).
struct spsc_pbuf_ext_cache spsc_pbuf::cache |
struct spsc_pbuf_common spsc_pbuf::common |
union { ... } spsc_pbuf::ext |
struct spsc_pbuf_ext_nocache spsc_pbuf::nocache |