Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
Makefile
Readme.md
rb_test.c
ring_buffer.c

Readme.md

ring buffer

简介

顾名思义,部分代码实现了一个环形缓冲区数据结构,环形缓冲区的功能就不再详述了。本部分模块最大的特点是使用了类的概念去构造环形缓冲区这个数据结构,使得模块更加清晰易懂,随用随取。

功能

创建一个指定elem(也就是单元)大小,指定elem数量的环形缓冲区,该缓冲区可以有自己的属性,目前只加入了以下属性:

  1. RB_FL_FORCE_WRITE:强制写入,使用该属性之后环形缓冲区如果写入数据大于剩余空的elem数量,就覆写旧的数据,保证数据时刻都是最新的。
  2. RB_FL_THREAD_SAFE:线程安全,默认情况下该环形缓冲区只能有两个线程进行一读一写操作,再多就可能会造成混乱了。目前线程安全是使用锁操作来保证。
  • 读写任意类型的数据(内部转换成char型的指针进行读写操作)。
  • reset缓冲区内容,此时还未读出的数据全部失效。

使用

该部分参考rb_test.c文件即可

bug等其它事宜

请联系: 网易邮箱-huangbohan2001@163.com 微信名---YellowMax