forked from project-chip/connectedhomeip
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix OperationalSessionSetup notifying success with inactive sessions (p…
…roject-chip#33822) When a success callback marks the session defunct for some reason, other succcess callbacks should not be called. Implement a GroupedCallbackList to make this logic possible. This specific solution is based on the assumption that we don't want to change the OperationalSessionSetup API which takes success and two variants of failure callbacks as separate, client-provided Callback objects, with all callbacks being optional to provide. We also don't want to introduce additional dynamic allocation within OperationalSessionSetup e.g. to allocate a struct holding the related callbacks. The GroupedCallbackList class makes use of the existing prev/next pointers within the client-allocated Callback objects to capture the grouping relationship between them. Co-authored-by: Boris Zbarsky <[email protected]>
- Loading branch information
1 parent
0ae8a02
commit b081572
Showing
6 changed files
with
522 additions
and
84 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.