-
Notifications
You must be signed in to change notification settings - Fork 248
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
Implement snapshot mechanism and corresponding ROS Service #850
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rosbag2_transport/test/rosbag2_transport/test_record_services.cpp
Outdated
Show resolved
Hide resolved
rosbag2_transport/test/rosbag2_transport/test_record_services.cpp
Outdated
Show resolved
Hide resolved
rosbag2_transport/test/rosbag2_transport/test_record_services.cpp
Outdated
Show resolved
Hide resolved
rosbag2_transport/test/rosbag2_transport/test_record_services.cpp
Outdated
Show resolved
Hide resolved
rosbag2_transport/test/rosbag2_transport/test_record_services.cpp
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few structural comments - mostly looks good
rosbag2_cpp/include/rosbag2_cpp/writer_interfaces/base_writer_interface.hpp
Outdated
Show resolved
Hide resolved
e25c03a
to
0309cb3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding some comments. I think I might be taking over this PR so they may be simply "notes to self"
Signed-off-by: Cameron Miller <cammlle@amazon.com>
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
0309cb3
to
55beff6
Compare
…da, to reuse in take_snapshot Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
8783f2a
to
bd852fd
Compare
Signed-off-by: Emerson Knapp <emerson.b.knapp@gmail.com>
@MichaelOrlov I have reworked this PR a bit to make the double-buffering logic easier to follow (I think). Would you mind taking another look at this modified implementation and let me know what you think? |
Signed-off-by: Emerson Knapp <eknapp@amazon.com>
@emersonknapp I've just recently got to your ping in this issue. |
@emersonknapp It seems I found a breakage in logic. Split doesn't work as before. i.e. after finalizing bag split, messages in next bag will not be written. |
@emersonknapp Also found out that in case of using |
* Add snapshot service to recorder node * Simplify and clarify double buffering patterns Co-authored-by: Cameron Miller <cammlle@amazon.com> Co-authored-by: Emerson Knapp <emerson.b.knapp@gmail.com>
* Add snapshot service to recorder node * Simplify and clarify double buffering patterns Co-authored-by: Cameron Miller <cammlle@amazon.com> Co-authored-by: Emerson Knapp <emerson.b.knapp@gmail.com>
* Add snapshot service to recorder node * Simplify and clarify double buffering patterns Co-authored-by: Cameron Miller <cammlle@amazon.com> Co-authored-by: Emerson Knapp <emerson.b.knapp@gmail.com>
* Add snapshot service to recorder node * Simplify and clarify double buffering patterns Co-authored-by: Cameron Miller <cammlle@amazon.com> Co-authored-by: Emerson Knapp <emerson.b.knapp@gmail.com>
Part of #663
Depends on #844
This PR implements the mechanism for taking a snapshot into the
SequentialWriter
,Writer
, andBaseWriterInterface
classes. It implements thetake_snapshot
function as a pure virtual function inBaseWriterInterface
to ensure that all future Writers are built with snapshot mode compatibility.Furthermore, a ROS service
~/snapshot
is created within theRecorder
node to provide an endpoint for triggering snapshots.Finally,
StorageOptions
was updated to add asnapshot_mode
field which is required bySequentialWriter
to determine when the circular snapshot buffers should be created.