auki-logs
Synced from the repository
This page mirrors crates/auki-logs/README.md in the auki-sdk repo (branch develop).
The repository is the source of truth.
Generic segmented append-only log primitive — a manifest header plus numbered segment files plus retention-based eviction. Every on-disk log type in the SDK (Sensor, Pose, TimeTransform, Detection) is a Log<T> over a different segment payload.
Encoder-agnostic via the LogPayload trait: consumers pick prost (the default for types from auki-datatypes, via a blanket impl), ciborium, or hand-rolled bytes. Segment rollover is time-based (segment_duration_ns); eviction is retention-based (retention_ns); the two are independent.
Status: Shipped.
Public surface
Log<T>— open / append / flush / iterate; configurable retention.LogReader<T>— read-only snapshot over the segment set.Entry<T>—(timestamp_ns, payload)pair.LogPayload(trait) —encode/decodehook the consumer fills in.Error— IO + decode failure cases.
Depends on
auki-jcs— for canonical manifest JSON.