Configure buffer cache time at runtime
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 153
- Forks
- 256
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 14
Description
Feature request
Feature description
We can configure the cache time when constructing the buffer object, however for applications that want to increase/decrease the cache time in third-party code, it would be nice to provide a canonical ROS interface for changing it.
Implementation considerations
Since we are already passing ROS node to the buffer, I think it would be fairly easy to declare a ROS parameter (e.g. tf_buffer/cache_time) that could be used to set the cache time at runtime:
If the user creates multiple tf2 buffers with the same ROS node, then I think having a single parameter set the cache for all buffers would be reasonable behavior. Otherwise, we need a way to distinguish different buffers.
We might also want to consider allowing updates during runtime. I.e. after the buffer has been created, let users change the cache time. I don't know if there would be an negative consequences for allowing the cache time to change after the buffer contains data. If we want to go this route, then we should create a setter method for this member:
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with tf2/include/tf2/buffer_core.h at the cache-time member and constructor, then inspect tf2_ros/include/tf2_ros/buffer.h where the ROS node is passed in. Clarify whether the feature should use one parameter for buffers sharing a node and whether updates after construction are required. Done means the agreed ROS interface and runtime behavior are specified and covered by tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- robotics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100