Description
ROS 2 offers two advanced delivery paths
- intra-process communication (IPC) via IntraProcessManager
- inter-process loaned messages via the RMW shared-memory path
but neither has any user-facing way to verify that it is actually being used at runtime.
both fall back silently when conditions aren't met, and the only ways to confirm correct setup today require code modification, full LTTng tracing, or both.
this proposal asks for a small introspection API in rclcpp or underlying rcl/rmw implementation that surfaces enough state to answer "is this publisher/subscription pair actually communicating with via LoanedMessage or Intra-Process bypass?" from outside the publishing/subscribing code itself.
Motivation
it is likely for users and developers to make sure the message delivery can be established either intra-process or LoanedMessage as user configures and specifies at runtime. without having this capability, it would be hard for users to evaluate the communication path between the endpoints at runtime.
Design / Implementation Considerations
Expose runtime-introspectable state from the actual communication path.
probably we could add per-endpoint flags reachable from SubscriptionBase, and that information should include the publisher endpoint GID that user can check it at runtime.
Additional Information
No response
Description
ROS 2 offers two advanced delivery paths
but neither has any user-facing way to verify that it is actually being used at runtime.
both fall back silently when conditions aren't met, and the only ways to confirm correct setup today require code modification, full LTTng tracing, or both.
this proposal asks for a small introspection API in rclcpp or underlying rcl/rmw implementation that surfaces enough state to answer "is this publisher/subscription pair actually communicating with via LoanedMessage or Intra-Process bypass?" from outside the publishing/subscribing code itself.
Motivation
it is likely for users and developers to make sure the message delivery can be established either intra-process or LoanedMessage as user configures and specifies at runtime. without having this capability, it would be hard for users to evaluate the communication path between the endpoints at runtime.
Design / Implementation Considerations
Expose runtime-introspectable state from the actual communication path.
probably we could add per-endpoint flags reachable from SubscriptionBase, and that information should include the publisher endpoint GID that user can check it at runtime.
Additional Information
No response