Thanks to visit codestin.com
Credit goes to lib.rs

#mcap2arrow #ros #cdr #schema #msg #apache-arrow

mcap2arrow-ros2msg

ROS 2 .msg schema decoder for mcap2arrow CDR payloads

3 releases (breaking)

Uses new Rust 2024

0.3.0 Apr 2, 2026
0.2.0 Feb 24, 2026
0.1.0 Feb 24, 2026

#3 in #cdr

28 downloads per month
Used in mcap2arrow

Apache-2.0

59KB
1.5K SLoC

ROS 2 .msg → CDR decoder for mcap2arrow.

Implements MessageDecoder for the (schema_encoding = ros2msg, message_encoding = cdr) key.

Unlike the IDL decoder, a .msg schema is a single file, so no multi-section bundle splitting is needed. builtin_interfaces types (Time, Duration) are injected automatically via resolve_single_struct.

Pipeline

schema bytes (UTF-8 .msg)
  └─ parse_msg             – re_ros_msg parser → StructDef
      └─ resolve_single_struct  – type resolution → ResolvedSchema
          └─ decode_cdr_to_value – CDR bytes → Value

mcap2arrow-ros2msg

crates.io

internal crate for ROS 2 .msg decoding used by mcap2arrow.

Dependencies

~0.5–1.2MB
~25K SLoC