Repository navigation
Conversation
The SSE fault handler consumes a ROS-free fault event source built on the shared fault types. Fault JSON keeps 64-bit seconds.
bburda
added this pull request to stack #759
October 24, 2026 14:18
mfaferek93
reviewed
Oct 25, 2026
|
|
||
| /// Start delivering events to `callback`; replaces any earlier callback. | ||
| /// The callback may run on any thread. | ||
| virtual void subscribe(Callback callback) = 0; |
Collaborator
There was a problem hiding this comment.
subscribe() replaces the single callback and unsubscribe() clears it for everyone. A second SSEFaultHandler on the same services takes the stream from the first one, and when either is destroyed the other stops getting events. Before this PR each handler had its own subscription. The test fixture already hits this: GatewayNode's own handler, then handler_, then limited_handler/fast_handler. Have subscribe() return an owned handle that removes only its own callback, and add a test where two handlers both receive an event and one survives the other's destruction.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
Summary
The SSE fault handler reads fault events from
FaultEventSource, a ROS-free interface built on the shared fault types from #736. The ROS side implements it with a subscription to the fault event topic. Fault JSON keeps 64-bit seconds.Issue
Type
Testing
./scripts/test.sh test_sse_fault_handler./scripts/test.sh integ --packages-select ros2_medkit_integration_testscovers the fault stream end to end (test_sse_fault_stream,test_aggregator_fault_stream,test_scenario_fault_lifecycle).Checklist