Batching buffers read when reaching threshold

This change reduces the differences between traditional
stream/message buffers and batching stream buffers. Batching
stream buffers are updated to trigger and read data when
enough data is present to EQUAL the threshold rather than exceed
it.

Inspired by https://github.com/FreeRTOS/FreeRTOS-Kernel/issues/1375
This commit is contained in:
Kody Stribrny 2026-04-22 10:45:02 -07:00
parent 5f2cc25b17
commit 0ab20dd78b
2 changed files with 5 additions and 9 deletions

View file

@ -292,10 +292,8 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf
* - The task reading from a non-empty stream buffer returns immediately
* regardless of the amount of data in the buffer.
* - The task reading from a non-empty steam batching buffer blocks until the
* amount of data in the buffer exceeds the trigger level or the block time
* amount of data in the buffer reaches the trigger level or the block time
* expires.
*
* @param xBufferSizeBytes The total number of bytes the stream batching buffer
* will be able to hold at any one time.
*
* @param xTriggerLevelBytes The number of bytes that must be in the stream
@ -380,10 +378,8 @@ typedef void (* StreamBufferCallbackFunction_t)( StreamBufferHandle_t xStreamBuf
* - The task reading from a non-empty stream buffer returns immediately
* regardless of the amount of data in the buffer.
* - The task reading from a non-empty steam batching buffer blocks until the
* amount of data in the buffer exceeds the trigger level or the block time
* amount of data in the buffer reaches the trigger level or the block time
* expires.
*
* @param xBufferSizeBytes The size, in bytes, of the buffer pointed to by the
* pucStreamBufferStorageArea parameter.
*
* @param xTriggerLevelBytes The number of bytes that must be in the stream