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