Ring buffer

This GOAL core module provides functions for ring buffers. Data of different byte length can be stored in or loaded from the ring buffer. The access to the ring buffer is protected by the GOAL locking mechanism.
A fast writing is supported. This means the GOAL locking mechanism is only applied once. The following sequence allows the fast writing:

  1. start writing by function goal_rbPut() and set the parameter flgLockKeep to GOAL_TRUE, the ring buffer remains locked

  2. continue writing for all data by function goal_rbPutFast()

  3. release the lock by function goal_rbPutFastFinish()

  • GOAL files:

    • goal_rb.[h,c]

  • example:

    • ..\goal\appl\00410_goal\rb