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.
Clarify CASE session establishment API error reporting. (project-chip…
…#18569) * Clarify CASE session establishment API error reporting. Consumers were very unclear on the fact that in sync-error cases we would both return error _and_ call the error callback, leading some of them to mis-handle the error processing. For example, the OTA requestor code would double-notify its consumer on errors. This PR on its own does not entirely fix that, but makes the API contract a lot clearer. Change details: * The confusingly named Initialized state of OperationalDeviceProxy has been renamed to HasAddress. * The new ResolvingAddress state for OperationalDeviceProxy is to allow the "destroy the OperationalDeviceProxy if it's not going to be successful" cleanup logic in CASESessionManager::FindOrEstablishSession to keep working. * The change to grab the peer adddress in OperationalDeviceProxy::AttachToExistingSecureSession is fixing a pre-existing problem, where we could end up not setting the address there, then get the session evicted and end up in our "has address, need to establish session next" state but without an actual address. * Various unused APIs that date back to a quite different OperationalDeviceProxy setup, with an address cache involved, were removed. * In CASESessionManager::FindOrEstablishSession the out-of-memory case was violating the API contract, which allows passing in null callbacks; it would crash in that case. * Fix tv examples. * Address review comments.
- Loading branch information
1 parent
2bd12ee
commit 1165152
Showing
12 changed files
with
130 additions
and
125 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
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.