pub struct CompatQueue { /* private fields */ }Expand description
A suitable queue implementation that only requires semaphores from the OS.
Register in your OS implementation by adding the following code:
use esp_radio_rtos_driver::{queue::CompatQueue, register_queue_implementation};
register_queue_implementation!(CompatQueue);Trait Implementations§
Source§impl QueueImplementation for CompatQueue
impl QueueImplementation for CompatQueue
Source§fn create(capacity: usize, item_size: usize) -> QueuePtr
fn create(capacity: usize, item_size: usize) -> QueuePtr
Creates a new, empty queue instance. Read more
Source§unsafe fn send_to_front(
queue: QueuePtr,
item: *const u8,
timeout_us: Option<u32>,
) -> bool
unsafe fn send_to_front( queue: QueuePtr, item: *const u8, timeout_us: Option<u32>, ) -> bool
Enqueues a high-priority item. Read more
Source§unsafe fn send_to_back(
queue: QueuePtr,
item: *const u8,
timeout_us: Option<u32>,
) -> bool
unsafe fn send_to_back( queue: QueuePtr, item: *const u8, timeout_us: Option<u32>, ) -> bool
Enqueues an item. Read more
Source§unsafe fn try_send_to_back_from_isr(
queue: QueuePtr,
item: *const u8,
higher_prio_task_waken: Option<&mut bool>,
) -> bool
unsafe fn try_send_to_back_from_isr( queue: QueuePtr, item: *const u8, higher_prio_task_waken: Option<&mut bool>, ) -> bool
Attempts to enqueues an item. Read more
Source§unsafe fn receive(
queue: QueuePtr,
item: *mut u8,
timeout_us: Option<u32>,
) -> bool
unsafe fn receive( queue: QueuePtr, item: *mut u8, timeout_us: Option<u32>, ) -> bool
Dequeues an item from the queue. Read more
Source§unsafe fn try_receive_from_isr(
queue: QueuePtr,
item: *mut u8,
higher_prio_task_waken: Option<&mut bool>,
) -> bool
unsafe fn try_receive_from_isr( queue: QueuePtr, item: *mut u8, higher_prio_task_waken: Option<&mut bool>, ) -> bool
Attempts to dequeue an item from the queue. Read more
Source§fn messages_waiting(queue: QueuePtr) -> usize
fn messages_waiting(queue: QueuePtr) -> usize
Returns the number of messages in the queue.