Re: [LAD] a *simple* ring buffer, comments pls?

From: Arnold Krille <arnold@email-addr-hidden>
Date: Fri Jul 08 2011 - 23:59:14 EEST

On Friday 08 July 2011 22:41:54 Paul Davis wrote:
> On Fri, Jul 8, 2011 at 3:53 PM, Fons Adriaensen <fons@email-addr-hidden> wrote:
> > - You can use all 2^n elements, there is no ambiguity between
> > full and empty.
>
> so what does it mean when wr_index == rd_index?

Empty for reading. Lots of space for writing.
Its much more interesting to see what happens when the indezes cross the 2^32
or 2^64 mark, then the write-index will be smaller then the read-index untill
the read-index catches up. But as far as I see currently, this wouldn't be a
problem either. The writer only has to stop writing when its at read_ptr - 1.

Maybe I don't understand it all, but with fons approach I think it only works
when the buffer-sizes are 2^n. When you have a buffer of say 5 elements, doing
the modulo at the element-access and not at the read/write-head-movement, this
will jump every now and then, right?

Have fun,

Arnold

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Received on Sat Jul 9 00:15:05 2011

This archive was generated by hypermail 2.1.8 : Sat Jul 09 2011 - 00:15:05 EEST