Skip to content

efargas/ringbuffer

 
 

Repository files navigation

0 Greetings

Welcome! Thank you for considering the README file.

Contents

  1. What is ringbuffer?
  2. Why using ringbuffer?
  3. License
  4. Documentation
  5. Installation & Debugging
  6. Examples
  7. Thanks to
  8. Contact

1 What is ringbuffer?

`ringbuffer' is a simple library containing a ringbuffer.

The ringbuffer is lock-free (using atomics only), and allows multiple readers, but only one writer.

The ringbuffer is real-time safe, i.e. guarantees that the functions return "fast enough" (except to initialization and cleanup routines).

Parts of the code have their origin in JACK's ringbuffer.

2 Why using ringbuffer?

As mentioned, the advantages are:

  • minimality
  • no dependencies
  • lock-freeness while still supporting multiple readers
  • real-time safety
  • safety (tests are included)

3 License

Please see the LICENSE file.

4 Documentation

See the DOCUMENTATION for official docs.

Type make doc for doxygen.

5 Installation & Debugging

Please see the INSTALL file.

6 Examples

See tests.

7 Thanks to

In alphabetical order, I thank:

  • Martin Pavelek (@he29-net)
  • The JACK team for their ringbuffer

8 Contact

Feel free to give feedback on github.

About

A small library containg a lock-free, multi-reader ringbuffer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 88.6%
  • CMake 9.8%
  • QMake 1.6%