- Rework library CMake with removed INTERFACE type
- Add user argument option
- Improve the variable names to better conform LLVM tidy config
- Preparation for
v3.1
- Replace
size_t
with custom defined typelwrb_sz_t
which matches atomicity requirements lwrb_sz_t
is by default typedef-ed asunsigned long
- Prepare
lwrb_write_ex
andlwrb_read_ex
functions - Implement
lwrb_write_ex
andlwrb_read_ex
functions - Fix
_ex
module throwing an error for Platform.IO
- Added macros for optional STDATOMIC. Global
-DLWRB_DISABLE_ATOMIC
macro will disable C11<stdatomic.h>
functionality. - Add
lwrb_move
andlwrb_overwrite
- Fix
lwrb_find
which failed to properly search for tokens at corner cases
- Split CMakeLists.txt files between library and executable
- Change license year to 2022
- Update code style with astyle
- Minimum required version is C11, with requirement of
stdatomic.h
library - Add
.clang-format
draft
- Add
library.json
for Platform.IO
- Add
volatile
keyword to all local variables to ensure thread safety in highest optimization - Add local variables for all read and write pointer accesses
- Remove generic
volatile
keyword from func parameter and replace to struct member
- Fix wrong check for valid RB instance
- Apply code style settings with Artistic style options
- Add thread safety docs
- Break compatibility with previous versions
- Rename function prefixes to
lwrb
instead ofringbuff
- Add astyle code syntax correction
- Fixed missing
RINGBUFF_VOLATILE
for event callback causes compiler warnings or errors
- Added support for events on read/write or reset operation
- Added optional volatile parameter for buffer structure
- Fix bug in skip and advance operation to return actual amount of bytes processed
- Remove
BUF_PREF
parameter and rename with fixedringbuff_
prefix for all functions
- Added first sphinx documentation
- Code optimizations, use pre-increment instead of post
- Another code-style fixes
- First stable release