[package]
name = "subms-segment-reader"
version = "0.5.0"
edition = "2024"
rust-version = "1.85"
authors = ["Kieran Smith <oss@submillisecond.com>"]
description = "submillisecond.com cookbook recipe - storage: subms-segment-reader. Read length-prefix framed records from a segment file; surface typed errors on truncation."
license = "MIT OR Apache-2.0"
readme = "README.md"
homepage = "https://submillisecond.com/cookbook/recipes/subms-segment-reader"
keywords = ["segment", "log", "framing", "subms"]
categories = ["filesystem", "data-structures"]
[lib]
name = "subms_segment_reader"
path = "src/lib.rs"
[[example]]
name = "perf_main"
required-features = ["harness"]
[[example]]
name = "perf_features"
required-features = ["harness", "mmap", "crc32", "xxh3", "lz4", "seek-index", "wal-cursor"]
[features]
default = []
harness = ["dep:subms"]
mmap = ["dep:memmap2"]
crc32 = ["dep:crc32c"]
xxh3 = ["dep:xxhash-rust"]
lz4 = ["dep:lz4_flex"]
seek-index = []
wal-cursor = []
[dependencies]
subms = { version = "0.5.0", path = "../../../../subms/rust", optional = true }
memmap2 = { version = "0.9", optional = true }
crc32c = { version = "0.6", optional = true }
xxhash-rust = { version = "0.8", optional = true, features = ["xxh3"] }
lz4_flex = { version = "0.11", optional = true, default-features = false, features = ["std", "safe-encode", "safe-decode"] }