Skip to content
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

Add support for re-using CASE sessions #17266

Merged
merged 4 commits into from
Apr 15, 2022

Conversation

mrjerryjohns
Copy link
Contributor

Problem

CASE sessions that were setup as a side-effect of a node acting as a responder (i.e sessions setup by CASEServer) were not getting re-used correctly by client-side logic (i.e CASEClient), see #15986.

This was further exacerbated by calls to expire all sessions upon completion of CASE session establishment, which meant a continuous ping-pong effect of a previously established session being destroyed upon establishment of a new session on each side, but would tear down the wrong one on the other.

Change Overview

SessionManager is the source of truth for all active sessions, so extended the existing FindSecureSessionForNode to take a session type as an argument to ensure we only find active CASE sessions, and calling this from OperationalDeviceProxy.

Other changes include:

  • Consolidation of the two different DequeueConnectionCallback variants for failure and success into a single method that does both since it was always mutually exclusive.
  • Fixed up the inconsistent patterns of enqueuing + callback triggering in Connect by always just enqueuing, and then dequeuing based on failure/success.
  • Removal of the dangerous SetConnectedSession method that should never have be a public API, and fixing the tv-app (which is the only consumer).

Testing

Repro'ed the original issue by using the REPL and a ota-provider-app instance to setup a CASE session to the provider, and then sending it a AnnounceCommand indicating the REPL is the provider.

I validated that the changes here correctly resulted in the app re-using the CASE session to initiate the query.

I also validated that subsequent tear-down of the REPL, restart and re-doing the above flow resulted in the query image using the newly created session.

@github-actions
Copy link

github-actions bot commented Apr 11, 2022

PR #17266: Size comparison from 97b144a to df6dacd

Increases (14 builds for cc13x2_26x2, cyw30739, efr32, esp32, linux, nrfconnect, p6, telink)
platform target config section 97b144a df6dacd change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 639903 640175 272 0.0
.rodata 80143 80231 88 0.1
.text 559268 559452 184 0.0
lock-mtd LP_CC2652R7 (read only) 588647 588919 272 0.0
.rodata 80023 80111 88 0.1
.text 508132 508316 184 0.0
pump-app LP_CC2652R7 (read only) 647979 648163 184 0.0
.rodata 75331 75355 24 0.0
.text 572160 572320 160 0.0
pump-controller-app LP_CC2652R7 (read only) 641951 642215 264 0.0
.rodata 78967 79047 80 0.1
.text 562496 562680 184 0.0
cyw30739 ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564626 564794 168 0.0
.app_xip_area 463244 463412 168 0.0
efr32 lighting-app BRD4161A (read only) 907004 907316 312 0.0
.text 906996 907308 312 0.0
BRD4161A+rpc (read only) 934876 935188 312 0.0
.text 934868 935180 312 0.0
esp32 all-clusters-app c3devkit (read only) 993464 993638 174 0.0
(read/write) 1462730 1462818 88 0.0
.flash.rodata 199776 199864 88 0.0
.flash.text 993464 993638 174 0.0
m5stack (read only) 1046019 1046199 180 0.0
(read/write) 463800 463880 80 0.0
.flash.rodata 228856 228936 80 0.0
.flash.text 1040635 1040815 180 0.0
linux chip-tool-no-interactive-ipv6only arm64 (read only) 1027722 10278212 992 0.0
.rodata 512228 512308 80 0.0
.text 8661732 8662644 912 0.0
thermostat-no-ble arm64 (read only) 2352588 2353564 976 0.0
.rodata 144668 144748 80 0.1
.text 1979344 1980240 896 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155879 1156135 256 0.0
rodata 146768 146848 80 0.1
text 794956 795140 184 0.0
p6 all-clusters-app default (read/write) 2514688 2515000 312 0.0
.text 1472952 1473264 312 0.0
telink lighting-app tlsr9518adk80d (read/write) 800984 801236 252 0.0
text 569678 569852 174 0.0
Decreases (8 builds for cyw30739, efr32, k32w, mbed, p6)
platform target config section 97b144a df6dacd change % change
cyw30739 light cyw930739m2evb_01 (read/write) 618498 618450 -48 -0.0
.app_xip_area 525208 525160 -48 -0.0
lock cyw930739m2evb_01 (read/write) 576110 576062 -48 -0.0
.app_xip_area 484356 484308 -48 -0.0
efr32 window-app BRD4161A (read only) 844012 843932 -80 -0.0
.text 844004 843924 -80 -0.0
k32w light k32w061+release (read/write) 686712 686648 -64 -0.0
.text 600748 600684 -64 -0.0
lock k32w061+release (read/write) 691344 691280 -64 -0.0
.text 604844 604780 -64 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2368260 2368196 -64 -0.0
.text 1330860 1330796 -64 -0.0
p6 light-app default (read/write) 2415160 2415080 -80 -0.0
.text 1373424 1373344 -80 -0.0
lock-app default (read/write) 2378728 2378648 -80 -0.0
.text 1336992 1336912 -80 -0.0
Full report (22 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 97b144a df6dacd change % change
cc13x2_26x2 lock-ftd LP_CC2652R7 (read only) 639903 640175 272 0.0
(read/write) 151212 151212 0 0.0
.bss 74144 74144 0 0.0
.data 3212 3212 0 0.0
.rodata 80143 80231 88 0.1
.text 559268 559452 184 0.0
lock-mtd LP_CC2652R7 (read only) 588647 588919 272 0.0
(read/write) 146932 146932 0 0.0
.bss 69864 69864 0 0.0
.data 3212 3212 0 0.0
.rodata 80023 80111 88 0.1
.text 508132 508316 184 0.0
pump-app LP_CC2652R7 (read only) 647979 648163 184 0.0
(read/write) 152508 152508 0 0.0
.bss 74640 74640 0 0.0
.data 3244 3244 0 0.0
.rodata 75331 75355 24 0.0
.text 572160 572320 160 0.0
pump-controller-app LP_CC2652R7 (read only) 641951 642215 264 0.0
(read/write) 152176 152176 0 0.0
.bss 74344 74344 0 0.0
.data 3208 3208 0 0.0
.rodata 78967 79047 80 0.1
.text 562496 562680 184 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 618498 618450 -48 -0.0
.app_xip_area 525208 525160 -48 -0.0
.bss 75956 75956 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 576110 576062 -48 -0.0
.app_xip_area 484356 484308 -48 -0.0
.bss 74452 74452 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 564626 564794 168 0.0
.app_xip_area 463244 463412 168 0.0
.bss 83784 83784 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 907004 907316 312 0.0
(read/write) 133080 133080 0 0.0
.bss 131040 131040 0 0.0
.data 2040 2040 0 0.0
.text 906996 907308 312 0.0
BRD4161A+rpc (read only) 934876 935188 312 0.0
(read/write) 149028 149028 0 0.0
.bss 146808 146808 0 0.0
.data 2220 2220 0 0.0
.text 934868 935180 312 0.0
window-app BRD4161A (read only) 844012 843932 -80 -0.0
(read/write) 131148 131148 0 0.0
.bss 129200 129200 0 0.0
.data 1948 1948 0 0.0
.text 844004 843924 -80 -0.0
esp32 all-clusters-app c3devkit (read only) 993464 993638 174 0.0
(read/write) 1462730 1462818 88 0.0
.dram0.bss 63120 63120 0 0.0
.dram0.data 14364 14364 0 0.0
.flash.rodata 199776 199864 88 0.0
.flash.text 993464 993638 174 0.0
.iram0.text 62572 62572 0 0.0
m5stack (read only) 1046019 1046199 180 0.0
(read/write) 463800 463880 80 0.0
.dram0.bss 68640 68640 0 0.0
.dram0.data 34160 34160 0 0.0
.flash.rodata 228856 228936 80 0.0
.flash.text 1040635 1040815 180 0.0
.iram0.text 123415 123415 0 0.0
k32w light k32w061+release (read/write) 686712 686648 -64 -0.0
.bss 78128 78128 0 0.0
.data 2036 2036 0 0.0
.text 600748 600684 -64 -0.0
lock k32w061+release (read/write) 691344 691280 -64 -0.0
.bss 78704 78704 0 0.0
.data 1996 1996 0 0.0
.text 604844 604780 -64 -0.0
linux chip-tool-no-interactive-ipv6only arm64 (read only) 1027722 10278212 992 0.0
(read/write) 492193 492193 0 0.0
.bss 41009 41009 0 0.0
.data 1168 1168 0 0.0
.data.rel.ro 388816 388816 0 0.0
.dynamic 560 560 0 0.0
.got 57392 57392 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 512228 512308 80 0.0
.text 8661732 8662644 912 0.0
thermostat-no-ble arm64 (read only) 2352588 2353564 976 0.0
(read/write) 150993 150993 0 0.0
.bss 63153 63153 0 0.0
.data 1424 1424 0 0.0
.data.rel.ro 78632 78632 0 0.0
.dynamic 560 560 0 0.0
.got 4768 4768 0 0.0
.init 24 24 0 0.0
.init_array 368 368 0 0.0
.rodata 144668 144748 80 0.1
.text 1979344 1980240 896 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2368260 2368196 -64 -0.0
.bss 185236 185236 0 0.0
.data 5840 5840 0 0.0
.text 1330860 1330796 -64 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1155879 1156135 256 0.0
bss 135464 135464 0 0.0
rodata 146768 146848 80 0.1
text 794956 795140 184 0.0
p6 all-clusters-app default (read/write) 2514688 2515000 312 0.0
.bss 118640 118640 0 0.0
.data 2768 2768 0 0.0
.text 1472952 1473264 312 0.0
light-app default (read/write) 2415160 2415080 -80 -0.0
.bss 112136 112136 0 0.0
.data 2576 2576 0 0.0
.text 1373424 1373344 -80 -0.0
lock-app default (read/write) 2378728 2378648 -80 -0.0
.bss 111880 111880 0 0.0
.data 2536 2536 0 0.0
.text 1336992 1336912 -80 -0.0
telink lighting-app tlsr9518adk80d (read/write) 800984 801236 252 0.0
bss 69988 69988 0 0.0
noinit 40416 40416 0 0.0
text 569678 569852 174 0.0

@msandstedt msandstedt self-requested a review April 12, 2022 02:57
examples/tv-casting-app/linux/main.cpp Outdated Show resolved Hide resolved
src/transport/SessionManager.h Outdated Show resolved Hide resolved
src/transport/SessionManager.h Outdated Show resolved Hide resolved
src/app/OperationalDeviceProxy.cpp Outdated Show resolved Hide resolved
src/app/OperationalDeviceProxy.cpp Outdated Show resolved Hide resolved
src/app/OperationalDeviceProxy.cpp Outdated Show resolved Hide resolved
src/app/OperationalDeviceProxy.cpp Outdated Show resolved Hide resolved
src/app/OperationalDeviceProxy.cpp Outdated Show resolved Hide resolved
@github-actions
Copy link

github-actions bot commented Apr 15, 2022

PR #17266: Size comparison from 964adbc to 8965367

Increases (24 builds for cc13x2_26x2, cyw30739, efr32, esp32, linux, nrfconnect, p6, telink)
platform target config section 964adbc 8965367 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 683431 683719 288 0.0
.rodata 102911 102975 64 0.1
.text 580040 580264 224 0.0
lock-ftd LP_CC2652R7 (read only) 676479 676767 288 0.0
.rodata 98535 98615 80 0.1
.text 577460 577668 208 0.0
lock-mtd LP_CC2652R7 (read only) 625231 625519 288 0.0
.rodata 98415 98495 80 0.1
.text 526324 526532 208 0.0
pump-app LP_CC2652R7 (read only) 648715 648907 192 0.0
.rodata 75419 75443 24 0.0
.text 572808 572976 168 0.0
pump-controller-app LP_CC2652R7 (read only) 641975 642271 296 0.0
.rodata 78695 78783 88 0.1
.text 562792 563000 208 0.0
cyw30739 ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 565346 565522 176 0.0
.app_xip_area 464004 464180 176 0.0
efr32 lighting-app BRD4161A (read only) 906884 907180 296 0.0
.text 906876 907172 296 0.0
BRD4161A+rpc (read only) 941260 941556 296 0.0
.text 941252 941548 296 0.0
esp32 all-clusters-app c3devkit (read only) 979932 980138 206 0.0
(read/write) 1397386 1397474 88 0.0
.flash.rodata 201456 201544 88 0.0
.flash.text 979932 980138 206 0.0
m5stack (read only) 1035275 1035483 208 0.0
(read/write) 465156 465236 80 0.0
.flash.rodata 231040 231120 80 0.0
.flash.text 1029891 1030099 208 0.0
linux all-clusters-app debug (read only) 2699609 2700697 1088 0.0
.rodata 232581 232677 96 0.0
.text 2293218 2294210 992 0.0
bridge-app debug+rpc (read only) 1839069 1839165 96 0.0
.rodata 148601 148697 96 0.1
chip-tool debug (read only) 10752421 10753493 1072 0.0
.rodata 539917 539981 64 0.0
.text 9381349 9382357 1008 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 10378244 10379204 960 0.0
.rodata 513540 513572 32 0.0
.text 8759796 8760724 928 0.0
door-lock-app debug (read only) 2110337 2110417 80 0.0
.rodata 186825 186889 64 0.0
.text 1768082 1768098 16 0.0
lighting-app debug+rpc (read only) 2315153 2315233 80 0.0
.rodata 182761 182825 64 0.0
.text 1966738 1966754 16 0.0
ota-provider-app debug (read only) 2047537 2047617 80 0.0
.rodata 172715 172779 64 0.0
.text 1718882 1718898 16 0.0
ota-requestor-app debug (read only) 2078201 2079257 1056 0.1
.rodata 169452 169516 64 0.0
.text 1751058 1752050 992 0.1
shell debug (read only) 2528193 2529249 1056 0.0
.rodata 214962 215026 64 0.0
.text 2152162 2153154 992 0.0
thermostat-no-ble arm64 (read only) 2354724 2355732 1008 0.0
.rodata 144692 144772 80 0.1
.text 1981936 1982864 928 0.0
tv-app debug (read only) 2830705 2831793 1088 0.0
.rodata 214091 214187 96 0.0
.text 2435378 2436370 992 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1163283 1163575 292 0.0
rodata 147028 147112 84 0.1
text 801096 801312 216 0.0
p6 all-clusters-app default (read/write) 2514728 2515040 312 0.0
.text 1472992 1473304 312 0.0
telink lighting-app tlsr9518adk80d (read/write) 801096 801388 292 0.0
text 570012 570216 204 0.0
Decreases (10 builds for cc13x2_26x2, cyw30739, efr32, k32w, mbed, p6)
platform target config section 964adbc 8965367 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 169736 169448 -288 -0.2
lock-ftd LP_CC2652R7 (read/write) 167648 167360 -288 -0.2
cyw30739 light cyw930739m2evb_01 (read/write) 618654 618622 -32 -0.0
.app_xip_area 525404 525372 -32 -0.0
lock cyw930739m2evb_01 (read/write) 612902 612878 -24 -0.0
.app_xip_area 521156 521132 -24 -0.0
efr32 window-app BRD4161A (read only) 843684 843620 -64 -0.0
.text 843676 843612 -64 -0.0
k32w light k32w061+release (read/write) 684200 684152 -48 -0.0
.text 598480 598432 -48 -0.0
lock k32w061+release (read/write) 725044 725012 -32 -0.0
.text 638756 638724 -32 -0.0
mbed lock-app CY8CPROTO_062_4343W+release (read/write) 2409556 2409492 -64 -0.0
.text 1372156 1372092 -64 -0.0
p6 light-app default (read/write) 2415176 2415112 -64 -0.0
.text 1373440 1373376 -64 -0.0
lock-app default (read/write) 2418656 2418592 -64 -0.0
.text 1376920 1376856 -64 -0.0
Full report (32 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
platform target config section 964adbc 8965367 change % change
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 683431 683719 288 0.0
(read/write) 169736 169448 -288 -0.2
.bss 76152 76152 0 0.0
.data 3380 3380 0 0.0
.rodata 102911 102975 64 0.1
.text 580040 580264 224 0.0
lock-ftd LP_CC2652R7 (read only) 676479 676767 288 0.0
(read/write) 167648 167360 -288 -0.2
.bss 74168 74168 0 0.0
.data 3212 3212 0 0.0
.rodata 98535 98615 80 0.1
.text 577460 577668 208 0.0
lock-mtd LP_CC2652R7 (read only) 625231 625519 288 0.0
(read/write) 146956 146956 0 0.0
.bss 69888 69888 0 0.0
.data 3212 3212 0 0.0
.rodata 98415 98495 80 0.1
.text 526324 526532 208 0.0
pump-app LP_CC2652R7 (read only) 648715 648907 192 0.0
(read/write) 152492 152492 0 0.0
.bss 74624 74624 0 0.0
.data 3244 3244 0 0.0
.rodata 75419 75443 24 0.0
.text 572808 572976 168 0.0
pump-controller-app LP_CC2652R7 (read only) 641975 642271 296 0.0
(read/write) 152160 152160 0 0.0
.bss 74328 74328 0 0.0
.data 3208 3208 0 0.0
.rodata 78695 78783 88 0.1
.text 562792 563000 208 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 618654 618622 -32 -0.0
.app_xip_area 525404 525372 -32 -0.0
.bss 75916 75916 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 612902 612878 -24 -0.0
.app_xip_area 521156 521132 -24 -0.0
.bss 74444 74444 0 0.0
.data 648 648 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 565346 565522 176 0.0
.app_xip_area 464004 464180 176 0.0
.bss 83744 83744 0 0.0
.data 564 564 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 906884 907180 296 0.0
(read/write) 133128 133128 0 0.0
.bss 131088 131088 0 0.0
.data 2040 2040 0 0.0
.text 906876 907172 296 0.0
BRD4161A+rpc (read only) 941260 941556 296 0.0
(read/write) 149812 149812 0 0.0
.bss 147568 147568 0 0.0
.data 2244 2244 0 0.0
.text 941252 941548 296 0.0
window-app BRD4161A (read only) 843684 843620 -64 -0.0
(read/write) 131132 131132 0 0.0
.bss 129184 129184 0 0.0
.data 1948 1948 0 0.0
.text 843676 843612 -64 -0.0
esp32 all-clusters-app c3devkit (read only) 979932 980138 206 0.0
(read/write) 1397386 1397474 88 0.0
.dram0.bss 62608 62608 0 0.0
.dram0.data 14412 14412 0 0.0
.flash.rodata 201456 201544 88 0.0
.flash.text 979932 980138 206 0.0
.iram0.text 62016 62016 0 0.0
m5stack (read only) 1035275 1035483 208 0.0
(read/write) 465156 465236 80 0.0
.dram0.bss 68128 68128 0 0.0
.dram0.data 34152 34152 0 0.0
.flash.rodata 231040 231120 80 0.0
.flash.text 1029891 1030099 208 0.0
.iram0.text 123107 123107 0 0.0
k32w light k32w061+release (read/write) 684200 684152 -48 -0.0
.bss 77928 77928 0 0.0
.data 1992 1992 0 0.0
.text 598480 598432 -48 -0.0
lock k32w061+release (read/write) 725044 725012 -32 -0.0
.bss 78536 78536 0 0.0
.data 1952 1952 0 0.0
.text 638756 638724 -32 -0.0
linux all-clusters-app debug (read only) 2699609 2700697 1088 0.0
(read/write) 149024 149024 0 0.0
.bss 60000 60000 0 0.0
.data 1920 1920 0 0.0
.data.rel.ro 81032 81032 0 0.0
.dynamic 608 608 0 0.0
.got 4448 4448 0 0.0
.init 27 27 0 0.0
.init_array 984 984 0 0.0
.rodata 232581 232677 96 0.0
.text 2293218 2294210 992 0.0
bridge-app debug+rpc (read only) 1839069 1839165 96 0.0
(read/write) 91576 91576 0 0.0
.bss 44264 44264 0 0.0
.data 2912 2912 0 0.0
.data.rel.ro 39312 39312 0 0.0
.dynamic 592 592 0 0.0
.got 3920 3920 0 0.0
.init 27 27 0 0.0
.init_array 552 552 0 0.0
.rodata 148601 148697 96 0.1
.text 1572309 1572309 0 0.0
chip-tool debug (read only) 10752421 10753493 1072 0.0
(read/write) 372248 372248 0 0.0
.bss 22560 22560 0 0.0
.data 1136 1136 0 0.0
.data.rel.ro 342304 342304 0 0.0
.dynamic 624 624 0 0.0
.got 4936 4936 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 539917 539981 64 0.0
.text 9381349 9382357 1008 0.0
chip-tool-no-interactive-ipv6only arm64 (read only) 10378244 10379204 960 0.0
(read/write) 492593 492593 0 0.0
.bss 40881 40881 0 0.0
.data 1184 1184 0 0.0
.data.rel.ro 389328 389328 0 0.0
.dynamic 560 560 0 0.0
.got 57392 57392 0 0.0
.init 24 24 0 0.0
.init_array 184 184 0 0.0
.rodata 513540 513572 32 0.0
.text 8759796 8760724 928 0.0
door-lock-app debug (read only) 2110337 2110417 80 0.0
(read/write) 119344 119344 0 0.0
.bss 47872 47872 0 0.0
.data 1472 1472 0 0.0
.data.rel.ro 64456 64456 0 0.0
.dynamic 592 592 0 0.0
.got 4248 4248 0 0.0
.init 27 27 0 0.0
.init_array 680 680 0 0.0
.rodata 186825 186889 64 0.0
.text 1768082 1768098 16 0.0
lighting-app debug+rpc (read only) 2315153 2315233 80 0.0
(read/write) 127632 127632 0 0.0
.bss 50048 50048 0 0.0
.data 1952 1952 0 0.0
.data.rel.ro 69928 69928 0 0.0
.dynamic 608 608 0 0.0
.got 4304 4304 0 0.0
.init 27 27 0 0.0
.init_array 776 776 0 0.0
.rodata 182761 182825 64 0.0
.text 1966738 1966754 16 0.0
ota-provider-app debug (read only) 2047537 2047617 80 0.0
(read/write) 115040 115040 0 0.0
.bss 48000 48000 0 0.0
.data 1640 1640 0 0.0
.data.rel.ro 59656 59656 0 0.0
.dynamic 608 608 0 0.0
.got 4448 4448 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 172715 172779 64 0.0
.text 1718882 1718898 16 0.0
ota-requestor-app debug (read only) 2078201 2079257 1056 0.1
(read/write) 118072 118072 0 0.0
.bss 48704 48704 0 0.0
.data 1896 1896 0 0.0
.data.rel.ro 61880 61880 0 0.0
.dynamic 592 592 0 0.0
.got 4288 4288 0 0.0
.init 27 27 0 0.0
.init_array 656 656 0 0.0
.rodata 169452 169516 64 0.0
.text 1751058 1752050 992 0.1
shell debug (read only) 2528193 2529249 1056 0.0
(read/write) 149808 149808 0 0.0
.bss 67368 67368 0 0.0
.data 1296 1296 0 0.0
.data.rel.ro 75408 75408 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 928 928 0 0.0
.rodata 214962 215026 64 0.0
.text 2152162 2153154 992 0.0
thermostat-no-ble arm64 (read only) 2354724 2355732 1008 0.0
(read/write) 150769 150769 0 0.0
.bss 62977 62977 0 0.0
.data 1440 1440 0 0.0
.data.rel.ro 78608 78608 0 0.0
.dynamic 560 560 0 0.0
.got 4736 4736 0 0.0
.init 24 24 0 0.0
.init_array 368 368 0 0.0
.rodata 144692 144772 80 0.1
.text 1981936 1982864 928 0.0
tv-app debug (read only) 2830705 2831793 1088 0.0
(read/write) 250600 250600 0 0.0
.bss 163928 163928 0 0.0
.data 4480 4480 0 0.0
.data.rel.ro 76008 76008 0 0.0
.dynamic 592 592 0 0.0
.got 4680 4680 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 214091 214187 96 0.0
.text 2435378 2436370 992 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2409556 2409492 -64 -0.0
.bss 185244 185244 0 0.0
.data 5840 5840 0 0.0
.text 1372156 1372092 -64 -0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1163283 1163575 292 0.0
bss 136512 136512 0 0.0
rodata 147028 147112 84 0.1
text 801096 801312 216 0.0
p6 all-clusters-app default (read/write) 2514728 2515040 312 0.0
.bss 118624 118624 0 0.0
.data 2768 2768 0 0.0
.text 1472992 1473304 312 0.0
light-app default (read/write) 2415176 2415112 -64 -0.0
.bss 112120 112120 0 0.0
.data 2576 2576 0 0.0
.text 1373440 1373376 -64 -0.0
lock-app default (read/write) 2418656 2418592 -64 -0.0
.bss 111896 111896 0 0.0
.data 2536 2536 0 0.0
.text 1376920 1376856 -64 -0.0
telink lighting-app tlsr9518adk80d (read/write) 801096 801388 292 0.0
bss 69972 69972 0 0.0
noinit 40416 40416 0 0.0
text 570012 570216 204 0.0

Copy link
Contributor

@carol-apple carol-apple left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, I pulled your branch and verified that base case of OTA is working well

@mrjerryjohns mrjerryjohns dismissed bzbarsky-apple’s stale review April 15, 2022 22:22

Chatted with Boris, he's out today. Will merge, and if he has any issues, he'll follow-up next week with issues.

@mrjerryjohns mrjerryjohns merged commit c503a97 into project-chip:master Apr 15, 2022
}

//
// Do not touch this instance anymore; it might have been destroyed by a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"device", not "this": this is a static method.

@@ -144,6 +144,16 @@ class DLL_EXPORT DeviceController : public SessionRecoveryDelegate, public Abstr
*/
virtual CHIP_ERROR Shutdown();

SessionManager * SessionMgr()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should strongly consider removing this and changing the one consumer we have (chip-tool) to get the system state from the device controller factory and get the session manager from there...

Failing that, a name that more clearly indicates that null can be returned (e.g. GetSessionMgr), or a signature that can fail, would be good...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants