|
ESPHome 2026.11.0-dev
|
A queue of frames between one producer and one consumer, for instance the receive interrupt and loop(). More...
#include <hdmi_cec.h>
Public Member Functions | |
| ESPHOME_ALWAYS_INLINE Frame * | front () |
| ESPHOME_ALWAYS_INLINE void | pop_front () |
| ESPHOME_ALWAYS_INLINE Frame * | back () |
| ESPHOME_ALWAYS_INLINE void | push_back () |
| ESPHOME_ALWAYS_INLINE bool | is_empty () const |
Protected Member Functions | |
| ESPHOME_ALWAYS_INLINE uint8_t | count_ () const |
| ESPHOME_ALWAYS_INLINE Frame * | slot_ (const std::atomic< uint8_t > &inx) |
| ESPHOME_ALWAYS_INLINE void | advance_ (std::atomic< uint8_t > &inx) |
Protected Attributes | |
| std::array< Frame, SIZE > | store_ {} |
| std::atomic< uint8_t > | front_inx_ {0} |
| std::atomic< uint8_t > | back_inx_ {0} |
A queue of frames between one producer and one consumer, for instance the receive interrupt and loop().
The indices run freely and each is written by one side only, so no lock is needed. back() hands out a slot to fill and push_back() commits it; front() and pop_front() do the same on the reading side.
Definition at line 70 of file hdmi_cec.h.
|
inlineprotected |
Definition at line 85 of file hdmi_cec.h.
|
inline |
Definition at line 76 of file hdmi_cec.h.
|
inlineprotected |
Definition at line 81 of file hdmi_cec.h.
|
inline |
Definition at line 74 of file hdmi_cec.h.
|
inline |
Definition at line 78 of file hdmi_cec.h.
|
inline |
Definition at line 75 of file hdmi_cec.h.
|
inline |
Definition at line 77 of file hdmi_cec.h.
|
inlineprotected |
Definition at line 84 of file hdmi_cec.h.
|
protected |
Definition at line 91 of file hdmi_cec.h.
|
protected |
Definition at line 90 of file hdmi_cec.h.
|
protected |
Definition at line 89 of file hdmi_cec.h.