Value: iceoryx-style true zero-copy for fixed-size types (can_loan_messages is false today; all six loan APIs return UNSUPPORTED in rmw_unsupported.cpp:31-84).
Implementation sketch: rmw_borrow_loaned_message returns a pointer into a reserved ring record; rmw_publish_loaned_message finalizes the seqlock + fans out the descriptor. POD-only constraint via typesupport. Do after R7 — the transparent variant captures most of the win without API risk.
Effort: 1–2 weeks. Depends on R7.
Value: iceoryx-style true zero-copy for fixed-size types (
can_loan_messagesis false today; all six loan APIs return UNSUPPORTED inrmw_unsupported.cpp:31-84).Implementation sketch:
rmw_borrow_loaned_messagereturns a pointer into a reserved ring record;rmw_publish_loaned_messagefinalizes the seqlock + fans out the descriptor. POD-only constraint via typesupport. Do after R7 — the transparent variant captures most of the win without API risk.Effort: 1–2 weeks. Depends on R7.