[−][src]Crate rosbag
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. |