# rosbag-rs [![Crate][crate-image]][crate-link] [![Docs][docs-image]][docs-link] ![Apache2/MIT licensed][license-image] ![Rust Version][rustc-image] [![Build Status][build-image]][build-link] [![Dependency Status][deps-image]][deps-link] A pure Rust crate for reading ROS bag files. ## Example ```rust use rosbag::{ChunkRecord, MessageRecord, IndexRecord, RosBag}; let bag = RosBag::new(path)?; // Iterate over records in the chunk section for record in bag.chunk_records() { match record? { ChunkRecord::Chunk(chunk) => { // iterate over messages in the chunk for msg in chunk.messages() { match msg? { MessageRecord::MessageData(msg_data) => { // .. } MessageRecord::Connection(conn) => { // .. } } } }, ChunkRecord::IndexData(index_data) => { // .. }, } } // Iterate over records in the index section for record in bag.index_records() { match record? { IndexRecord::IndexData(index_data) => { // .. } IndexRecord::Connection(conn) => { // .. } IndexRecord::ChunkInfo(chunk_info) => { // .. } } } ``` ## License The crate is licensed under either of * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0) * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT) at your option. ### Contribution Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions. [//]: # (badges) [crate-image]: https://img.shields.io/crates/v/rosbag.svg [crate-link]: https://crates.io/crates/rosbag [docs-image]: https://docs.rs/rosbag/badge.svg [docs-link]: https://docs.rs/rosbag [rustc-image]: https://img.shields.io/badge/rustc-1.56+-blue.svg [license-image]: https://img.shields.io/badge/license-Apache2.0/MIT-blue.svg [build-image]: https://github.com/newpavlov/rosbag-rs/actions/workflows/rosbag.yml/badge.svg [build-link]: https://github.com/newpavlov/rosbag-rs/actions/workflows/rosbag.yml [deps-image]: https://deps.rs/repo/github/newpavlov/rosbag-rs/status.svg [deps-link]: https://deps.rs/repo/github/newpavlov/rosbag-rs