[][src]Function esp_idf_sys::xQueueAltGenericSend

pub unsafe extern "C" fn xQueueAltGenericSend(
    xQueue: QueueHandle_t,
    pvItemToQueue: *const c_void,
    xTicksToWait: TickType_t,
    xCopyPosition: BaseType_t
) -> BaseType_t

@cond */ xQueueAltGenericSend() is an alternative version of xQueueGenericSend(). Likewise xQueueAltGenericReceive() is an alternative version of xQueueGenericReceive().

The source code that implements the alternative (Alt) API is much simpler because it executes everything from within a critical section. This is the approach taken by many other RTOSes, but FreeRTOS.org has the preferred fully featured API too. The fully featured API has more complex code that takes longer to execute, but makes much less use of critical sections. Therefore the alternative API sacrifices interrupt responsiveness to gain execution speed, whereas the fully featured API sacrifices execution speed to ensure better interrupt responsiveness.