pub const EMPTY_STRUCT_MEMBER: &str = "structure_needs_at_least_one_member";Expand description
The member rosidl gives a struct that declares none (issue 1293).
rosidl_adapter emits uint8 structure_needs_at_least_one_member; for an
empty .msg / .srv half, so every stock typesupport has one member to
serialize and an empty message is ONE byte on the wire, not zero. Measured
on humble: rmw_zenoh_cpp, rmw_cyclonedds_cpp and rmw_fastrtps_cpp all
serialize std_msgs/Empty with that byte, and all three REFUSE to
deserialize the encapsulation header alone (“Not enough memory in the
buffer stream” / “invalid data size”).