Crates.io | rosbag |
lib.rs | rosbag |
version | 0.6.3 |
source | src |
created_at | 2018-04-13 17:04:03.816537 |
updated_at | 2024-05-27 14:07:23.27331 |
description | Utilities for reading ROS bag files. |
homepage | |
repository | https://github.com/newpavlov/rosbag-rs |
max_upload_size | |
id | 60456 |
size | 56,051 |
A pure Rust crate for reading ROS bag files.
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) => {
// ..
}
}
}
The crate is licensed under either of
at your option.
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.