-
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
about leave event #21744
Comments
What I would expect to happen here is:
I am seeing item 1 happen, but not seeing the second Leave event for item 2. Looking into why not. |
Ah, I think the issue is that the ReadHandler for the fabric 2 subscription has sent out the Leave event for fabric 1 and has not gotten the Status Response yet, so it's not able to send any more data reports. It seems like we should only be trying to sync-deliver Leave on the fabric being left. So |
We were running into an issue where fabric removal would do sync event delivery on other fabrics, and then removal of _those_ fabrics could not deliver events (because there was a Report Data outstanding that had not gotten a Status Response yet). The fix is to only sync-deliver events for the fabric about to be removed when a fabric is removed. Fixes project-chip#21744
We were running into an issue where fabric removal would do sync event delivery on other fabrics, and then removal of _those_ fabrics could not deliver events (because there was a Report Data outstanding that had not gotten a Status Response yet). The fix is to only sync-deliver events for the fabric about to be removed when a fabric is removed. Fixes project-chip#21744
We were running into an issue where fabric removal would do sync event delivery on other fabrics, and then removal of _those_ fabrics could not deliver events (because there was a Report Data outstanding that had not gotten a Status Response yet). The fix is to only sync-deliver events for the fabric about to be removed when a fabric is removed. Fixes project-chip#21744
We were running into an issue where fabric removal would do sync event delivery on other fabrics, and then removal of _those_ fabrics could not deliver events (because there was a Report Data outstanding that had not gotten a Status Response yet). The fix is to only sync-deliver events for the fabric about to be removed when a fabric is removed. Fixes project-chip#21744
* Fabric removal should only sync-deliver events for that fabric. We were running into an issue where fabric removal would do sync event delivery on other fabrics, and then removal of _those_ fabrics could not deliver events (because there was a Report Data outstanding that had not gotten a Status Response yet). The fix is to only sync-deliver events for the fabric about to be removed when a fabric is removed. Fixes #21744 * Address review comment.
…ect-chip#21760) * Fabric removal should only sync-deliver events for that fabric. We were running into an issue where fabric removal would do sync event delivery on other fabrics, and then removal of _those_ fabrics could not deliver events (because there was a Report Data outstanding that had not gotten a Status Response yet). The fix is to only sync-deliver events for the fabric about to be removed when a fabric is removed. Fixes project-chip#21744 * Address review comment.
No matter how many fabrics the dut joins,dut just report fabricIndex 1 when i call chip::Server::GetInstance().GetFabricTable().DeleteAllFabrics() before factroy reset
report all fabric index
report fabric index1
first : dut commission to TH1 and TH2
second : TH1 and TH2 subscribe leave event: basic subscribe-event leave 1 60 1 0、basic subscribe-event leave 1 60 2 0 --commissioner-name beta
third : call chip::Server::GetInstance().GetFabricTable().DeleteAllFabrics() befofe factory reset
I try to understand the code and I can see that the event has been pushed to eventManagerment,but it doesn't work well actually, I don't understand what's going on here
The text was updated successfully, but these errors were encountered: