ros2 / ros2/rclcpp

LifecycleNode: implement service request filtering of inactive managed nodes.

Open
#1,838 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

backlog in progress
Dominant language
C++
Stars
805
Forks
564
Avg merge
1d 17h
Merged PRs (30d)
27

Description

Feature request

Feature description

According to managed node design, while a managed node is in the inactive state, the node will not respond to functional service requests.

Primary State: Inactive

...
While in this state, the node will not receive any execution time to read topics, perform processing of data, respond to functional service requests, etc.

Implementation considerations

Similar to create_publisher(), create_service() API need to be implemented to return a custom service class (ex. LifecycleService)

Pros: In the Inactive state, service requests are filtered according to design concepts.
Cons: API need to be changed (return type of create_service)

I created PR for it. https://github.com/ros2/rclcpp/pull/1836

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the managed node design document linked in the issue and inspect the existing create_service() API, alongside the analogous create_publisher() implementation. Review the linked rclcpp pull request #1836 to understand the current work and expected completion state.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.