mcap

Crates.iomcap
lib.rsmcap
version0.9.1
sourcesrc
created_at2022-09-12 06:13:02.311981
updated_at2024-06-24 21:30:41.828149
descriptionA library for reading and writing MCAP files
homepagehttps://mcap.dev
repositoryhttps://github.com/foxglove/mcap
max_upload_size
id663489
size2,785,339
(james-rms)

documentation

https://docs.rs/mcap

README

Rust MCAP library

A library for reading and writing Foxglove MCAP files. See the crate documentation for examples.

Design goals

  • Simple APIs: Users should be able to iterate over messages, with each automatically linked to its channel, and that channel linked to its schema. Users shouldn't have to manually track channel and schema IDs.

  • Performance: Writers shouldn't hold large buffers (e.g., the current chunk) in memory. Readers should support memory-mapped files to avoid needless copies and to let the OS do what it does best: loading and caching large files based on how you're actually reading them.

  • Resilience: Like MCAP itself, the library should let you recover every valid message from an incomplete file or chunk.

Building

By default this package will build with zstd compression support enabled. To build without the zstd dependency pass the --no-default-features flag:

cargo build --no-default-features
Commit count: 750

cargo fmt