| Crates.io | rosrustext_lifecycle_proxy |
| lib.rs | rosrustext_lifecycle_proxy |
| version | 0.2.3 |
| created_at | 2026-01-06 17:22:03.795176+00 |
| updated_at | 2026-01-19 12:09:26.197006+00 |
| description | Rust lifecycle proxy for rosrustext_roslibrust nodes over rosbridge |
| homepage | https://github.com/convyares-FCSL/rosrustext |
| repository | https://github.com/convyares-FCSL/rosrustext |
| max_upload_size | |
| id | 2026342 |
| size | 97,180 |
ROS 2 lifecycle service and event proxy for non-native Rust transports.
rosrustext_lifecycle_proxy is a small tool crate used by the rosrustext
project to expose canonical ROS 2 lifecycle behavior in environments where
the underlying Rust transport does not natively provide the full lifecycle
service surface.
It exists to support tooling and ecosystem parity, not as a general-purpose node framework.
The proxy provides a ROS-facing lifecycle surface compatible with standard tools and managers, including:
/<node>/change_state/<node>/get_state/<node>/get_available_states/<node>/get_available_transitions/<node>/transition_event/bond heartbeats for Nav2 compatibility (feature: bond)It forwards lifecycle intent and state between ROS tools and a Rust-managed
lifecycle state machine implemented elsewhere (typically in
rosrustext_core + an adapter).
Some Rust ROS transports (notably rosbridge-based stacks) do not expose:
/bond behaviorRather than re-implement lifecycle semantics in every adapter or lesson, the proxy allows:
This keeps lifecycle semantics centralized, testable, and observable.
This crate is:
rosrustext_roslibrustEnd users typically do not depend on this crate directly.
bond (disabled by default): include bond/msg/Status support and publish /bond
heartbeats for Nav2. Disable at runtime with --no-bond or ROSRUSTEXT_BOND=0.This proxy:
rosrustext_core)The exact scope of this proxy (lifecycle-only vs more general management proxy) is under active review.
rosrustext_core
Defines lifecycle semantics and state machine.
rosrustext_roslibrust
Uses this proxy to project lifecycle behavior into rosbridge-based systems.
rosrustext_rosrs
Does not use this proxy; lifecycle is implemented natively via rclrs.
As Rust ROS transports mature, this crate may:
Any such change will be driven by observable parity requirements, not API convenience.
Apache-2.0