-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Enable CASE session establishment #7666
Merged
woody-apple
merged 12 commits into
project-chip:master
from
pan-apple:enable-case-session
Jun 23, 2021
+912
−281
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
8692a59
Enable CASE session establishment
pan-apple 31ad603
persist counter if device is connected
pan-apple 7e4b792
enable CASE sessions for chip-tool
pan-apple 8fb02e0
address review comments
pan-apple 481ea8f
add tests for SessionIDAllocator
pan-apple c15904e
address review comments
pan-apple c1f513a
address review comments
pan-apple 797d24d
add ReserveUpTo
pan-apple 13de107
release resouces on cleanup, and reduce message timeout
pan-apple bf54cb4
release resources on cleanup and init.
pan-apple 5373ba5
Remove sleep from ModelCommand
pan-apple 6c1f43a
some cleanup
pan-apple File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -51,11 +51,10 @@ CHIP_ERROR ModelCommand::Run(NodeId localId, NodeId remoteId) | |
{ | ||
chip::DeviceLayer::StackLock lock; | ||
|
||
err = GetExecContext()->commissioner->GetDevice(remoteId, &mDevice); | ||
VerifyOrExit(err == CHIP_NO_ERROR, ChipLogError(chipTool, "Init failure! No pairing for device: %" PRIu64, localId)); | ||
|
||
err = SendCommand(mDevice, mEndPointId); | ||
VerifyOrExit(err == CHIP_NO_ERROR, ChipLogError(chipTool, "Failed to send message: %s", ErrorStr(err))); | ||
err = GetExecContext()->commissioner->GetConnectedDevice(remoteId, &mOnDeviceConnectedCallback, | ||
&mOnDeviceConnectionFailureCallback); | ||
VerifyOrExit(err == CHIP_NO_ERROR, | ||
ChipLogError(chipTool, "Failed in initiating connection to the device: %" PRIu64 ", error %d", remoteId, err)); | ||
} | ||
|
||
WaitForResponse(kWaitDurationInSeconds); | ||
|
@@ -65,3 +64,19 @@ CHIP_ERROR ModelCommand::Run(NodeId localId, NodeId remoteId) | |
exit: | ||
return err; | ||
} | ||
|
||
void ModelCommand::OnDeviceConnectedFn(void * context, chip::Controller::Device * device) | ||
{ | ||
ModelCommand * command = reinterpret_cast<ModelCommand *>(context); | ||
VerifyOrReturn(command != nullptr, | ||
ChipLogError(chipTool, "Device connected, but cannot send the command, as the context is null")); | ||
command->SendCommand(device, command->mEndPointId); | ||
} | ||
|
||
void ModelCommand::OnDeviceConnectionFailureFn(void * context, NodeId deviceId, CHIP_ERROR error) | ||
{ | ||
ModelCommand * command = reinterpret_cast<ModelCommand *>(context); | ||
ChipLogError(chipTool, "Failed in connecting to the device %" PRIu64 ". Error %d", deviceId, error); | ||
VerifyOrReturn(command != nullptr, ChipLogError(chipTool, "ModelCommand context is null")); | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. VerifyOrDie(command != nullptr) here too. |
||
command->SetCommandExitStatus(false); | ||
} |
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
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.
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.
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.
Can this happen (how)?
If not suggest
VerifyOrDie(command != nullptr)
or just leave it off since it's obvious anyway due to the call below.