Releases: SlickQuant/slick-stream-buffer
Releases · SlickQuant/slick-stream-buffer
Release v1.0.3
Changes
slick/dynamic_stream_buffer.his now installed only when Boost is found at
configure time, and the header emits a clear#errorwhen included without
Boost.Asio on the include path. The coreslick/stream_buffer.hremains
Boost-free.
Release v1.0.2
Changes
- Added
SlickStreamBuffer::discard()to drop committed-but-unconsumed bytes (and any
prepared region) without publishing them — for invalidating a partial message after a
connection drops mid-read. Older published records remain subject to the existing
lossy overwrite semantics. - Added
dynamic_stream_buffer::clear()(matchingbeast::flat_buffer::clear()), which
forwards todiscard(). - Update slick-shm fetching version to 0.1.4
- Auto fetch slick-shm if not found in config cmake
Release v1.0.1
Changes
- Fixed
SlickStreamBuffer::prepare(0)so it no longer discards an outstanding
prepared region beforecommit(). - Fixed
dynamic_stream_buffer::data()so its returned buffer size respects the
adaptermax_size()cap and stays consistent withsize(). - Reduced producer-side atomic load traffic by keeping local committed/consumed
cursor shadows for the single-producer hot path. - Added regression tests for zero-length prepare handling and DynamicBuffer
data()/size()consistency.
Release v1.0.0
Changes
Initial release.
slick::SlickStreamBuffer— lock-free single-producer multi-consumer byte stream
buffer with local memory and shared memory support (slick-shm), monotonic message
records, independent consumer cursors, lossy overwrite semantics with loss
detection, and contiguous readable region with wrap relocation.slick::dynamic_stream_buffer— Boost.AsioDynamicBuffer_v1adapter, drop-in
replacement forboost::beast::flat_buffer;consume(n)publishes the consumed
bytes to consumers as one message record (zero-copy fan-out).- GoogleTest suites for local memory, shared memory, and the asio adapter
(including a real TCP loopback test); CI for Windows/Linux/macOS.