Repository navigation
[Summary]
StormByte Buffer is the byte-buffer module of the StormByte C++ suite.
It depends on StormByte Base 2.2.2, StormByte-Logger 2.0.5 and StormByte-System 2.1.2. Base is its own archive: Logger and System no longer bring it. This repository is not Base, Config, Crypto, Database, Logger, Multimedia, Network or System.
Public headers under StormByte/buffer/ cover FIFO, SharedFIFO, Ring, Producer/Consumer, Hopper, Sink, Bridge, Pipeline and StormByte::Buffer::IO (buffered binary sources and sinks). Octet payloads are StormByte::Safe::Binary. Byte lengths are StormByte::ByteSize. Hopper and Sink count items with StormByte::Size.
If you landed here from a release link and have not read the tree:
- What this module is, how to build it, and short examples: README.md
- License: GNU Lesser General Public License version 3 or later, LICENSE
Changed
- Buffered-reader prefetch uses batches of up to 64 KiB instead of 4 KiB, reducing origin calls and worker wakeups for sequential reads. Each batch remains bounded by the requested read-ahead and memory budget; cancellation, seek, EOF and error behavior are preserved.
- Bundled builds use Base 2.2.2, Logger 2.0.5 and System 2.1.2.
- Require BuildMaster 2.1.3 and pin its bundled submodule to the published release.
Added
- A deterministic prefetch regression verifies that 512 KiB needs eight origin reads rather than 128, checks every byte, and confirms that smaller cache budgets still bound the batch size.