Crate rosbag [−] [src]
Utilities for efficient reading of ROS bag files.
Example
ⓘThis example is not tested
use rosbag::{RosBag, Record}; let bag = RosBag::new(path).unwrap(); // create low-level iterator over rosbag records let mut records = bag.records(); // acquire `BagHeader` record, which should be first one let header = match records.next() { Some(Ok(Record::BagHeader(bh))) => bh, _ => panic!("Failed to acquire bag header record"), }; // get first `Chunk` record and iterate over `Message` records in it for record in &mut records { match record? { Record::Chunk(chunk) => { for msg in chunk.iter_msgs() { println!("{}", msg?.time) } break; }, _ => (), } } // jump to index records records.seek(header.index_pos).unwrap(); for record in records { println!("{:?}", record?); }
Modules
msg_iter |
Iterators over content of |
record_types |
Collection of record types. |
Structs
RecordsIterator |
Low-level iterator over records extracted from ROS bag file. |
RosBag |
Struct which holds open rosbag file. |
Enums
Error |
The error type for ROS bag file reading and parsing. |
Record |
Enum with all possible record variants |
Type Definitions
Result |
A specialized Result type for ROS bag file reading and parsing. |