-
Notifications
You must be signed in to change notification settings - Fork 260
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
Add recorder stop() API #1300
Add recorder stop() API #1300
Conversation
Signed-off-by: Michael Orlov <michael.orlov@apex.ai> Co-authored-by: aditya <aditya@nimble.ai>
Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
|
@james-rms I will try to answer on your questions:
Discovery will be stopped and recreated with all subscriptions. If topics currently discoverable it will be added to the new bag if not it is not. Consider stop() operation as opposite to the record() operation. stop() will wrap everything up and ready for one more call for record().
In current design we need stop(), pause() and resume(). Pause mode just dropping messages from subscriptions. The stop() really stop recording and wrapping everything up. There are lot more above pause() and resume() API and it would be a major redesign in recorder by remapping them to the stop() and record() calls.
|
Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Gist: https://gist.githubusercontent.com/MichaelOrlov/52b8a6060eacf2b928a2eca23185c85d/raw/d2ec5fdbe4478354c04fabd5d70ccaee677623a9/ros2.repos |
@ros-pull-request-builder retest this please |
https://github.com/Mergifyio backport iron |
✅ Backports have been created
|
* Expose Writer::close() as public API and add Recorder::stop() API Signed-off-by: Michael Orlov <michael.orlov@apex.ai> Co-authored-by: aditya <aditya@nimble.ai> * Move routines from recorder's destructor to RecorderImpl::stop() Signed-off-by: Michael Orlov <michael.orlov@apex.ai> * Add can_record_again_after_stop unit test in rosbag2_transport Signed-off-by: Michael Orlov <michael.orlov@apex.ai> * Update Doxygen comments for stop() and pause() API in recorder.hpp Signed-off-by: Michael Orlov <michael.orlov@apex.ai> --------- Signed-off-by: Michael Orlov <michael.orlov@apex.ai> Co-authored-by: aditya <aditya@nimble.ai> (cherry picked from commit a218e37)
* Expose Writer::close() as public API and add Recorder::stop() API Signed-off-by: Michael Orlov <michael.orlov@apex.ai> Co-authored-by: aditya <aditya@nimble.ai> * Move routines from recorder's destructor to RecorderImpl::stop() Signed-off-by: Michael Orlov <michael.orlov@apex.ai> * Add can_record_again_after_stop unit test in rosbag2_transport Signed-off-by: Michael Orlov <michael.orlov@apex.ai> * Update Doxygen comments for stop() and pause() API in recorder.hpp Signed-off-by: Michael Orlov <michael.orlov@apex.ai> --------- Signed-off-by: Michael Orlov <michael.orlov@apex.ai> Co-authored-by: aditya <aditya@nimble.ai> (cherry picked from commit a218e37) Co-authored-by: Michael Orlov <michael.orlov@apex.ai>
This pull request has been mentioned on ROS Discourse. There might be relevant details there: https://discourse.ros.org/t/ros-2-tsc-meeting-minutes-2023-05-18/31587/1 |
* Expose Writer::close() as public API and add Recorder::stop() API Signed-off-by: Michael Orlov <michael.orlov@apex.ai> Co-authored-by: aditya <aditya@nimble.ai> * Move routines from recorder's destructor to RecorderImpl::stop() Signed-off-by: Michael Orlov <michael.orlov@apex.ai> * Add can_record_again_after_stop unit test in rosbag2_transport Signed-off-by: Michael Orlov <michael.orlov@apex.ai> * Update Doxygen comments for stop() and pause() API in recorder.hpp Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
- Add Recorder::stop() API - Move routines from recorder's destructor to RecorderImpl::stop() - Add can_record_again_after_stop unit test in rosbag2_transport - Update Doxygen comments for stop() and pause() API in recorder.hpp Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
- Add Recorder::stop() API - Move routines from recorder's destructor to RecorderImpl::stop() - Add can_record_again_after_stop unit test in rosbag2_transport - Update Doxygen comments for stop() and pause() API in recorder.hpp Signed-off-by: Michael Orlov <michael.orlov@apex.ai>
Relates Add
BagSplitInfo
on bag close #1213Replaces Add BagSplitInfo service call on bag close #1216
Expose Writer::close() as public API and add Recorder::stop() API to be able to use in future for gracefully handle SIGINT and SIGTERM and send bagsplit() or bagclose() event from Recorder::stop() API.