5#ifdef ESPHOME_THREAD_MULTI_NO_ATOMICS
42 if (element ==
nullptr)
45 if (xQueueSend(this->
handle_(), &element, 0) != pdPASS) {
54 if (xQueueReceive(this->
handle_(), &element, 0) != pdTRUE) {
81 bool empty()
const {
return uxQueueMessagesWaiting(this->
handle_()) == 0; }
83 bool full()
const {
return uxQueueSpacesAvailable(this->
handle_()) == 0; }
85 size_t size()
const {
return uxQueueMessagesWaiting(this->
handle_()); }
95 static_assert(SIZE > 0,
"FreeRTOSQueue needs at least one slot");
97 return reinterpret_cast<QueueHandle_t
>(
const_cast<StaticQueue_t *
>(&this->
queue_buf_));
QueueHandle_t handle_() const
FreeRTOSQueue(FreeRTOSQueue &&)=delete
uint8_t storage_[SIZE *sizeof(T *)]
void increment_dropped_count()
FreeRTOSQueue(const FreeRTOSQueue &)=delete
uint16_t get_and_reset_dropped_count()
FreeRTOSQueue & operator=(const FreeRTOSQueue &)=delete
FreeRTOSQueue & operator=(FreeRTOSQueue &&)=delete