Expand description

Utilities for efficient reading of ROS bag files.

Example

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) => {
            // ..
        }
    }
}

Modules

Collection of record types.

Structs

Iterator over records stored in the chunk section of a rosbag file.

Iterator over records stored in the chunk section of a rosbag file.

Iterator over records stored in a Chunk record.

Open rosbag file.

Enums

Record types which can be stored in the chunk section.

The error type for ROS bag file reading and parsing.

Record types which can be stored in the chunk section.

Record types which can be stored in a Chunk record.

Type Definitions

A specialized Result type for ROS bag file reading and parsing.