As I mentioned in my last post I have cleaned up the Producer-Consumer library I started yesterday. It now includes the Producer class and some examples.
Technically I believe the Producer::writeBuffer(…) method should report back that the buffer is full so that the Producer stops writing to the buffer until the Consumer has read something from the buffer. The particular use I have for this I am more interested in the most recent values rater then stale values in the buffer so if the buffer overflows it will send a buffer overflow message to the Consumer on the next read, then reset the buffer ( _buffRead = _buffWrite ).