subms-segment-reader 0.5.0

submillisecond.com cookbook recipe - storage: subms-segment-reader. Read length-prefix framed records from a segment file; surface typed errors on truncation.
Documentation
subms-segment-reader-0.5.0 has been yanked.

Segment reader - Rust

Read length-prefix framed records from a segment file. Truncated tails surface as a typed error, not a crash.

Part of the submillisecond.com cookbook. Zero external dependencies; std only.

Install

[dependencies]
subms-segment-reader = "0.4"

Quickstart

cargo test --release
cargo run --example demo

Public API

  • pub enum Error
  • pub struct SegmentReader<R: Read>
  • pub fn new(reader: R) -> Self
  • pub fn next_record(&mut self) -> Result<Option<&[u8]>, Error>
  • pub struct SegmentWriter<W: Write>
  • pub fn new(writer: W) -> Self
  • pub fn write(&mut self, record: &[u8]) -> io::Result<()>
  • pub fn flush(&mut self) -> io::Result<()>

Files

  • src/lib.rs - implementation.
  • tests/ - integration tests; correctness, edge cases, property/stress.
  • examples/demo.rs - stdout walkthrough.
  • examples/perf_main.rs - bench entry (behind the harness feature).

License

Dual-licensed under MIT OR Apache-2.0.