Buffer IO layer 200 interfaces between circular buffer 124 and the clients of the buffer, which include writer module 122 and reader modules 126 (labeled 126 1-126 N, where N is an integer variable greater than or equal to 1) Buffer IO layer 200 implements the circularity of buffer 124 and synchronizes writer module 122 with reader modules 126 1-126 N. Buffer IO layer 200 implements circularity by