-
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
[Python] Process attribute cache updates in Python thread #35557
Merged
mergify
merged 3 commits into
master
from
avoid-processing-attribute-cache-update-on-sdk-thread
Sep 17, 2024
Merged
[Python] Process attribute cache updates in Python thread #35557
mergify
merged 3 commits into
master
from
avoid-processing-attribute-cache-update-on-sdk-thread
Sep 17, 2024
+116
−101
Conversation
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
Review changes with SemanticDiff. Analyzed 3 of 4 files. Overall, the semantic diff is 69% smaller than the GitHub diff.
|
447e79a
to
d66652c
Compare
d66652c
to
a9cfd91
Compare
Instead of processing the attribute update in the SDK thread, process them on request in the Python thread. This avoids acks being sent back too late to the device after the last DataReport if there are many attribute updates sent at once. Currently still the same data model and processing is done. There is certainly also room for optimization to make this more efficient.
a9cfd91
to
f378cb6
Compare
PR #35557: Size comparison from d04a667 to f378cb6 Full report (15 builds for esp32, linux, nrfconnect, nxp, qpg, tizen)
|
marcelveldt
reviewed
Sep 13, 2024
marcelveldt
reviewed
Sep 13, 2024
eba1724
to
1f0182b
Compare
PR #35557: Size comparison from 7a54490 to 1f0182b Full report (49 builds for bl602, bl702, bl702l, linux, nrfconnect, qpg, stm32, telink)
|
Make sure to get the attribute values again after each command to get the updated attribute cache.
1f0182b
to
61a1106
Compare
PR #35557: Size comparison from 9de3c6b to 61a1106 Full report (38 builds for esp32, linux, nrfconnect, qpg, telink)
|
andy31415
approved these changes
Sep 16, 2024
arkq
approved these changes
Sep 17, 2024
Loading status checks…
PR #35557: Size comparison from 9de3c6b to 420963a Full report (51 builds for bl602, bl702, bl702l, cyw30739, esp32, linux, nrfconnect, nxp, psoc6, stm32)
|
agners
added a commit
to home-assistant-libs/chip-wheels
that referenced
this pull request
Sep 17, 2024
Loading
Loading status checks…
This adds Attribute cache update improvements and some other minor fixes from the master branch to our 1.3 branch. Specifically, this integrates changes from the following PRs - project-chip/connectedhomeip#35380 - project-chip/connectedhomeip#34833 - project-chip/connectedhomeip#35557
yyzhong-g
pushed a commit
to yyzhong-g/connectedhomeip
that referenced
this pull request
Dec 12, 2024
…ip#35557) * [Python] Process attribute cache updates in Python thread Instead of processing the attribute update in the SDK thread, process them on request in the Python thread. This avoids acks being sent back too late to the device after the last DataReport if there are many attribute updates sent at once. Currently still the same data model and processing is done. There is certainly also room for optimization to make this more efficient. * Get updated attribute values Make sure to get the attribute values again after each command to get the updated attribute cache. * Reference ReadEvent/ReadAttribute APIs on dev controller object
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
Instead of processing the attribute update in the SDK thread, process them on request in the Python thread. This avoids acks being sent back too late to the device after the last DataReport if there are many attribute updates sent at once.
Currently still the same data model and processing is done. There is certainly also room for optimization to make this more efficient.
This also removes some obsolete/unused functions and cleans up the Read function argument list.