RingBuffer type retrieves mutable references from the
DataProvider in a
non-atomic manner, potentially allowing the creation of multiple mutable
RingBuffer also implements the
Sync traits for all
This allows undefined behavior from the aliased mutable references as well
as data races.