-
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
IM: Create ReadHandler after Session Establishment for Subscription Resumption #30491
IM: Create ReadHandler after Session Establishment for Subscription Resumption #30491
Conversation
PR #30491: Size comparison from aeee127 to 96c2553 Increases above 0.2%:
Increases (20 builds for efr32, esp32, linux)
Decreases (6 builds for efr32, esp32)
Full report (73 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
|
Would not block the merge for this PR, please file one ticket with details for follow-up test, I would offline figure out with you regarding how to add this test. |
Several changes made, antipatterns were removed.
…on Establishment for Subscription Resumption
…ment for Subscription Resumption (#31260)
@wqx6 @jtung-apple Was it intended that there behavior changes in the subscriptiont timeout feature? |
…esumption (project-chip#30491) * IM: Create ReadHandler after Session Establishment for Subscription Resumption * Restyled by clang-format * Make SubscriptionResumptionHelper inherits from SubscriptionInfo * review changes * Rename Helper to SessionEstablisher * Restyled by clang-format * RAII changes * Restyled by clang-format --------- Co-authored-by: Restyled.io <[email protected]>
[cherry-pick] IM: Create ReadHandler after Session Establishment for Subscription Resumption (project-chip#30491) into v1.2 See merge request espressif/connectedhomeip!10
…esumption (project-chip#30491) * IM: Create ReadHandler after Session Establishment for Subscription Resumption * Restyled by clang-format * Make SubscriptionResumptionHelper inherits from SubscriptionInfo * review changes * Rename Helper to SessionEstablisher * Restyled by clang-format * RAII changes * Restyled by clang-format --------- Co-authored-by: Restyled.io <[email protected]>
… v1.2-branch (#33161) * [1.1] Cherry pick Thread DNS client and memory leak fixes (#31457) * [app] Fix DeferredAttributePersister memory leak (#31075) * [app] Fix DeferredAttributePerister memory leak ScopedMemoryBuffer's Release() method was used instead of Free(). Add CHECK_RETURN_VALUE annotation to the Release() method to prevent from making such a mistake in the future. Signed-off-by: Damian Krolik <[email protected]> * Code review --------- Signed-off-by: Damian Krolik <[email protected]> (cherry picked from commit 3e8aeeb) * [OpenThread] Harden DNS record parsing (#31227) OpenThread applications would crash upon receiving an empty DNS TXT record. The reason was that the code for copying OT DNS service info object into Matter DnssdService object would not initialize the TXT entry count in the latter object in such a case. In the reported case, the Matter stack was presented an empty TXT record because OpenThread's DNS client received a TXT record with TTL 0 and it discarded its contents. Nevertheless, the issue could be reproduced by publishing Matter service without TXT entries and kicking off DNS query. 1. Initialize the TXT entry and subtype count properly in all scenarios. 2. Do not even process the service info object if an error was returned by OpenThread before. 3. Extract some boilerplate to a separate function to improve readability. Signed-off-by: Damian Krolik <[email protected]> (cherry picked from commit 76b6bb5) * ESP32: Add EndpointQueueFilter for ESP32 platform (#31440) * Add EndpointQueueFilter for ESP32 platform * Restyled by clang-format * Restyled by gn * fix compile error when disabling inet ipv4 * review changes * Restyled by clang-format * review changes * review changes --------- Co-authored-by: Restyled.io <[email protected]> * [ESP32] Limit number of returned WiFi scan results to configured limit (#30780) Scan results are allocated on the heap and on a resource critical device where heap is less, this may fail if there are a lot of APs in the vicinity. * [ESP32] Fix the threading issue in nimble (#29180) * [ESP32] Fix the threading issue in nimble Send ble connection error than executing in nimble thread context * comment explaining why we are posting connection error event * Adding a comment for kCHIPoBLEConnectionError * IM: Create ReadHandler after Session Establishment for Subscription Resumption (#30491) * IM: Create ReadHandler after Session Establishment for Subscription Resumption * Restyled by clang-format * Make SubscriptionResumptionHelper inherits from SubscriptionInfo * review changes * Rename Helper to SessionEstablisher * Restyled by clang-format * RAII changes * Restyled by clang-format --------- Co-authored-by: Restyled.io <[email protected]> * [ESP32] Fix adding NDEBUG flag to CPPFLAGS (#30763) In esp-idf, NDEBUG flag is added to CPPFLAGS only if assertions are disabled. Making this inline to that. * Add records of session establishment for subscription resumption (#31755) * Add records of session establishment for subscription resumption * Restyled by clang-format * review changes * Schedule subscription resumption when failing to establish the session in SubscriptionResumptionSessionEstablisher * Add option to set subscription timeout resumption retry interval seconds for Linux app Add cirque test for subscription resumption timeout * Restyled by clang-format * Restyled by autopep8 * Restyled by isort * fix CI building * Add test to the test list * add subscription resumption restries number to SubscriptionInfo struct * review changes * make resumption retries persistent * Restyled by clang-format * ci build fixes * try to fix cirque test --------- Co-authored-by: Restyled.io <[email protected]> * ESP32: check ap info in IsStationConnected (#31438) * Add checks for mOTInst in GenericThreadStackManagerImpl_OpenThread (#32482) * Add checks for mOTInst in GenericThreadStackManagerImpl_OpenThread * review changes * [ESP32] Fix few attributes with fixed quality in DeviceInfoProvider (#32893) * [ESP32] Fix few attributes with fixed quality in DeviceInfoProvider Fixed labels, supported locales, supported calendar types were being read from the nvs(flash) and during OTA its a hassle if one wants to upgrade these values. Added few APIs to set the data for these attributes in ESP32DeviceInfoProvider. * Restyled by clang-format * Restyled by prettier-markdown * fix the lint errors * Add back the original Device info provider which reads from the nvs Add StaticESP32DeviceInfoProvider along with APIs to set data Remove changes from example and add a guide along with usage --------- Co-authored-by: Restyled.io <[email protected]> * Implement BLE Manager Shutdown for nimble host (#33109) * [ESP32] Implement BLE Manager Shutdown for nimble host - Replace ble deinit imple in Esp32AppServer with BLEMgr().Shutdown() - Replace few ESP_LOG with ChipLog in Esp32AppServer - Move ble deinit kCommissioningComplete switch case - Make USE_BLE_ONLY_FOR_COMMISSIONING depends on BT_ENABLED * Restyled by clang-format * address reviews * Add checks for timer handler --------- Co-authored-by: Restyled.io <[email protected]> * [ESP32] Made a provision to generate esp_secure_cert partition in factory partition script. (#29840) * Made a provision to generate esp_secure_cert partition in factory partition script. - Added the provision to generate esp_secure_cert_partition based on option --dac-in-secure-cert. - Refactored some code of the existing script - made it more modular. * made outdir user governed * Added the support for onboarding paylaod in factory script (#31274) --------- Co-authored-by: Damian Królik <[email protected]> Co-authored-by: Wang Qixiang <[email protected]> Co-authored-by: Restyled.io <[email protected]> Co-authored-by: Shubham Patil <[email protected]> Co-authored-by: shripad621git <[email protected]>
Currently we will create
ReadHandler
before Session Establishment for Subscription Resumption.If we have
CHIP_IM_MAX_NUM_SUBSCRIPTIONS
to be resumed after reboot, we will createCHIP_IM_MAX_NUM_SUBSCRIPTIONS
ReadHandler
s firstly and then establish sessions over theseReadHandler
s. Considering this situation, before theseReadHandler
s succeed to establish sessions, a new subscription interaction is invoked, then the device will callEnsureResourceForSubscription()
to ensure there is enough resource for this new subscription interaction. Since theReadHandler
Pool is used up at that time, we need to release aReadHandler
, but noReadHandler
will be closed asGetAccessingFabricIndex()
in everyReadHandler
will returnkUndefinedFabricIndex
. Then the device will crash atVerifyOrDieWithMsg(didEvictHandler, DataManagement, "Failed to get required resources by evicting existing subscriptions.");
. lineIn this PR, a
SubscriptionResumptionHelper
will be created for Subscription Resumption. It will establish CASE sessions and createReadHandler
after session establishment.