-
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
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.
|
agners
force-pushed
the
avoid-processing-attribute-cache-update-on-sdk-thread
branch
from
September 12, 2024 17:07
447e79a
to
d66652c
Compare
pullapprove
bot
requested review from
andy31415,
andyg-apple,
anush-apple,
arkq,
axelnxp,
bauerschwan,
bzbarsky-apple,
carol-apple,
cecille,
chapongatien,
chrisdecenzo,
chshu,
chulspro,
cliffamzn,
Damian-Nordic and
dhrishi
September 12, 2024 17:08
pullapprove
bot
requested review from
yunhanw-google,
woody-apple,
younghak-hwang and
yufengwangca
September 12, 2024 17:08
agners
force-pushed
the
avoid-processing-attribute-cache-update-on-sdk-thread
branch
from
September 12, 2024 17:15
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.
agners
force-pushed
the
avoid-processing-attribute-cache-update-on-sdk-thread
branch
from
September 12, 2024 17:27
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
agners
force-pushed
the
avoid-processing-attribute-cache-update-on-sdk-thread
branch
from
September 13, 2024 10:45
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.
agners
force-pushed
the
avoid-processing-attribute-cache-update-on-sdk-thread
branch
from
September 16, 2024 09:42
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
github-actions
bot
added
the
documentation
Improvements or additions to documentation
label
Sep 17, 2024
PR #35557: Size comparison from 9de3c6b to 420963a Full report (51 builds for bl602, bl702, bl702l, cyw30739, esp32, linux, nrfconnect, nxp, psoc6, stm32)
|
mergify
bot
deleted the
avoid-processing-attribute-cache-update-on-sdk-thread
branch
September 17, 2024 13:51
agners
added a commit
to home-assistant-libs/chip-wheels
that referenced
this pull request
Sep 17, 2024
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.