-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Have a single signature for create_service by bundling arguments #2
base: improve-service-ergonomics
Are you sure you want to change the base?
Have a single signature for create_service by bundling arguments #2
Conversation
…st#380) Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Remove references to rclrs not being on crates.io
Move the tests in the `rclrs_tests` crate into `rclrs`.
…ackage was only ever used by examples. (ros2-rust#384)
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
…ID set to 99 Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
…mpty Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Correct rcl entity lifecycles and fix spurious test failures
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Signed-off-by: Michael X. Grey <mxgrey@intrinsic.ai>
Honestly, I am not a big fan of that solution. To me that seems even more complicated than the way it currently is. Maybe you guys just rename |
With async execution we have a plan for how to improve ergonomics for callbacks with mutable state, including mutable state that the callbacks can share with each other. The idea is to introduce a But existing the |
This PR catches your PR branch up to the
main
ofros2_rust
and also tweaks the approach to reducing service callback arguments.We should avoid having multiple Service creation methods because that won't scale well if we ever want to provide more arguments to the service callbacks. For example rclcpp has a signature that can provide a reference to the service handle. When we implement async execution we may want to provide access to Executor Commands.
By bundling everything into a
Req<T>
, we can expand this struct in the future without any changes to the API, and users can pick and choose which fields they care about from inside their callback.