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

[IC-Device] Initial implementation of Client Monitoring Registration table #24096

Merged
merged 11 commits into from
Jan 4, 2023

Conversation

mkardous-silabs
Copy link
Contributor

Description

Initial implementation of the Client Monitoring Table for persistance of registration entires

Tests

Added test suite for the CM Table with basic sanity checks

src/app/util/ClientMonitoringRegistrationTable.cpp Outdated Show resolved Hide resolved
src/app/util/ClientMonitoringRegistrationTable.cpp Outdated Show resolved Hide resolved
src/app/util/ClientMonitoringRegistrationTable.cpp Outdated Show resolved Hide resolved
src/app/util/ClientMonitoringRegistrationTable.cpp Outdated Show resolved Hide resolved
Copy link
Contributor

@turon turon left a comment

Choose a reason for hiding this comment

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

LGTM 👍

src/lib/support/UnitTestRegistration.cpp Show resolved Hide resolved
@mkardous-silabs mkardous-silabs self-assigned this Jan 4, 2023
@github-actions
Copy link

github-actions bot commented Jan 4, 2023

PR #24096: Size comparison from ac82038 to a36c65c

Increases (10 builds for bl702, cc13x2_26x2, esp32, psoc6, telink)
platform target config section ac82038 a36c65c change % change
bl702 lighting-app bl702 .debug_info 39187904 39192002 4098 0.0
.debug_loc 3381381 3381408 27 0.0
.debug_str 3485937 3486044 107 0.0
bl702+rpc .debug_info 43480287 43484378 4091 0.0
.debug_loc 3576085 3576100 15 0.0
.debug_str 3888335 3888442 107 0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read/write) 171564 171572 8 0.0
pump-app LP_CC2652R7 (read/write) 159304 159312 8 0.0
esp32 all-clusters-app c3devkit (read/write) 1791034 1791050 16 0.0
.flash.rodata 248472 248488 16 0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_info 27060924 27065539 4615 0.0
.debug_str 3456750 3456857 107 0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_info 26797722 26802301 4579 0.0
.debug_str 3445762 3445869 107 0.0
light cy8ckit_062s2_43012 .debug_info 22260257 22264272 4015 0.0
.debug_loc 3310483 3310498 15 0.0
.debug_str 3251348 3251455 107 0.0
lock cy8ckit_062s2_43012 .debug_info 22478648 22482629 3981 0.0
.debug_str 3267186 3267293 107 0.0
telink thermostat tlsr9518adk80d (read/write) 932436 932444 8 0.0
text 637072 637074 2 0.0
Decreases (15 builds for bl602, bl702, cc13x2_26x2, esp32, k32w, psoc6, qpg, telink)
platform target config section ac82038 a36c65c change % change
bl602 lighting-app bl602 .text 1039208 1039206 -2 -0.0
bl702 lighting-app bl702 .debug_line 5162847 5162845 -2 -0.0
bl702+rpc .debug_line 5552342 5552340 -2 -0.0
.text 1030864 1030860 -4 -0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 679883 679875 -8 -0.0
.text 589576 589568 -8 -0.0
pump-app LP_CC2652R7 (read only) 690439 690431 -8 -0.0
.text 598924 598916 -8 -0.0
esp32 all-clusters-app m5stack (read/write) 564267 564263 -4 -0.0
.flash.rodata 314260 314256 -4 -0.0
k32w contact k32w0+release (read/write) 662716 662700 -16 -0.0
.text 564468 564452 -16 -0.0
psoc6 all-clusters cy8ckit_062s2_43012 .debug_line 3720449 3720445 -4 -0.0
.debug_loc 3625015 3624970 -45 -0.0
all-clusters-minimal cy8ckit_062s2_43012 .debug_line 3739347 3739343 -4 -0.0
.debug_loc 3612621 3612576 -45 -0.0
lock cy8ckit_062s2_43012 .debug_line 3305483 3305479 -4 -0.0
.debug_loc 3331990 3331945 -45 -0.0
qpg lighting-app qpg6105+debug (read/write) 1151220 1151212 -8 -0.0
.text 598320 598312 -8 -0.0
telink all-clusters-minimal-app tlsr9518adk80d text 689768 689764 -4 -0.0
light-switch-app tlsr9518adk80d text 636374 636372 -2 -0.0
lighting-app tlsr9518adk80d text 702150 702148 -2 -0.0
ota-requestor-app tlsr9518adk80d (read/write) 942876 942868 -8 -0.0
text 647630 647628 -2 -0.0
Full report (42 builds for bl602, bl702, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, psoc6, qpg, telink)
platform target config section ac82038 a36c65c change % change
bl602 lighting-app bl602 (read/write) 1356450 1356450 0 0.0
.bss 86977 86977 0 0.0
.data 9984 9984 0 0.0
.text 1039208 1039206 -2 -0.0
bl602+rpc (read/write) 1402234 1402234 0 0.0
.bss 95017 95017 0 0.0
.data 10384 10384 0 0.0
.text 1070632 1070632 0 0.0
bl702 lighting-app bl702 (read only) 3262 3262 0 0.0
(read/write) 1196335 1196335 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 67102 67102 0 0.0
.bss_psram 30048 30048 0 0.0
.comment 48 48 0 0.0
.data 4048 4048 0 0.0
.debug_abbrev 1528937 1528937 0 0.0
.debug_aranges 132568 132568 0 0.0
.debug_frame 486476 486476 0 0.0
.debug_info 39187904 39192002 4098 0.0
.debug_line 5162847 5162845 -2 -0.0
.debug_loc 3381381 3381408 27 0.0
.debug_ranges 363816 363816 0 0.0
.debug_str 3485937 3486044 107 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 144 144 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 116400 116400 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 569755 569755 0 0.0
.symtab 172160 172160 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
956880 956880 0 0.0
bl702+rpc (read only) 3262 3262 0 0.0
(read/write) 1284827 1284827 0 0.0
.bleromro 6296 6296 0 0.0
.bleromrw 124 124 0 0.0
.boot2 688 688 0 0.0
.bss 75118 75118 0 0.0
.bss_psram 30304 30304 0 0.0
.comment 48 48 0 0.0
.data 4576 4576 0 0.0
.debug_abbrev 1676247 1676247 0 0.0
.debug_aranges 140688 140688 0 0.0
.debug_frame 513896 513896 0 0.0
.debug_info 43480287 43484378 4091 0.0
.debug_line 5552342 5552340 -2 -0.0
.debug_loc 3576085 3576100 15 0.0
.debug_ranges 387352 387352 0 0.0
.debug_str 3888335 3888442 107 0.0
.hbn 509 509 0 0.0
.hbn_noinit 260 260 0 0.0
.init 342 342 0 0.0
.init_array 160 160 0 0.0
.psram 0 0 0 0.0
.riscv.attributes 47 47 0 0.0
.rodata 130144 130144 0 0.0
.rsvd 3188 3188 0 0.0
.shstrtab 293 293 0 0.0
.stack 2048 2048 0 0.0
.strtab 630039 630039 0 0.0
.symtab 190336 190336 0 0.0
.tcm_data 36 36 0 0.0
.tcmcode 3262 3262 0 0.0
.text 0 0 0 0.0
1030864 1030860 -4 -0.0
cc13x2_26x2 all-clusters-app LP_CC2652R7 (read only) 679883 679875 -8 -0.0
(read/write) 171564 171572 8 0.0
.bss 81140 81140 0 0.0
.data 3380 3380 0 0.0
.rodata 89995 89995 0 0.0
.text 589576 589568 -8 -0.0
all-clusters-minimal-app LP_CC2652R7 (read only) 644139 644139 0 0.0
(read/write) 157916 157916 0 0.0
.bss 80420 80420 0 0.0
.data 3380 3380 0 0.0
.rodata 79139 79139 0 0.0
.text 564680 564680 0 0.0
lock-ftd LP_CC2652R7 (read only) 677415 677415 0 0.0
(read/write) 171592 171592 0 0.0
.bss 78788 78788 0 0.0
.data 3304 3304 0 0.0
.rodata 77415 77415 0 0.0
.text 599520 599520 0 0.0
lock-mtd LP_CC2652R7 (read only) 662203 662203 0 0.0
(read/write) 182068 182068 0 0.0
.bss 74052 74052 0 0.0
.data 3304 3304 0 0.0
.rodata 103507 103507 0 0.0
.text 558216 558216 0 0.0
pump-app LP_CC2652R7 (read only) 690439 690431 -8 -0.0
(read/write) 159304 159312 8 0.0
.bss 78756 78756 0 0.0
.data 3296 3296 0 0.0
.rodata 91031 91031 0 0.0
.text 598924 598916 -8 -0.0
pump-controller-app LP_CC2652R7 (read only) 674363 674363 0 0.0
(read/write) 175484 175484 0 0.0
.bss 78860 78860 0 0.0
.data 3292 3292 0 0.0
.rodata 86587 86587 0 0.0
.text 587296 587296 0 0.0
shell LP_CC2652R7 (read only) 671106 671106 0 0.0
(read/write) 182668 182668 0 0.0
.bss 83468 83468 0 0.0
.data 3376 3376 0 0.0
.rodata 86738 86738 0 0.0
.text 584052 584052 0 0.0
cyw30739 light cyw930739m2evb_01 (read/write) 588482 588482 0 0.0
.app_xip_area 464828 464828 0 0.0
.bss 66112 66112 0 0.0
.data 728 728 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
lock cyw930739m2evb_01 (read/write) 592310 592310 0 0.0
.app_xip_area 463360 463360 0 0.0
.bss 71400 71400 0 0.0
.data 736 736 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
ota-requestor-no-progress-logging cyw930739m2evb_01 (read/write) 551862 551862 0 0.0
.app_xip_area 433704 433704 0 0.0
.bss 60656 60656 0 0.0
.data 684 684 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A+rpc (read/write) 976452 976452 0 0.0
.bss 152172 152172 0 0.0
.data 2168 2168 0 0.0
.text 822092 822092 0 0.0
BRD4161A+rs911x (read/write) 1039056 1039056 0 0.0
.bss 186648 186648 0 0.0
.data 2012 2012 0 0.0
.text 850376 850376 0 0.0
BRD4187C (read/write) 1149924 1149924 0 0.0
.bss 138568 138568 0 0.0
.data 2516 2516 0 0.0
.text 984244 984244 0 0.0
lock-app BRD4161A+wf200 (read/write) 1069168 1069168 0 0.0
.bss 158184 158184 0 0.0
.data 2020 2020 0 0.0
.text 908940 908940 0 0.0
window-app BRD4187C (read/write) 1142568 1142568 0 0.0
.bss 139984 139984 0 0.0
.data 2540 2540 0 0.0
.text 975448 975448 0 0.0
esp32 all-clusters-app c3devkit (read only) 1219518 1219518 0 0.0
(read/write) 1791034 1791050 16 0.0
.dram0.bss 76912 76912 0 0.0
.dram0.data 13928 13928 0 0.0
.flash.rodata 248472 248488 16 0.0
.flash.text 1219518 1219518 0 0.0
.iram0.text 71188 71188 0 0.0
m5stack (read only) 1233447 1233447 0 0.0
(read/write) 564267 564263 -4 -0.0
.dram0.bss 82064 82064 0 0.0
.dram0.data 34224 34224 0 0.0
.flash.rodata 314260 314256 -4 -0.0
.flash.text 1228063 1228063 0 0.0
.iram0.text 124803 124803 0 0.0
k32w contact k32w0+release (read/write) 662716 662700 -16 -0.0
.bss 77032 77032 0 0.0
.data 2104 2104 0 0.0
.text 564468 564452 -16 -0.0
light k32w0+release (read/write) 673400 673400 0 0.0
.bss 74824 74824 0 0.0
.data 2060 2060 0 0.0
.text 593788 593788 0 0.0
lock k32w0+release (read/write) 634244 634244 0 0.0
.bss 75584 75584 0 0.0
.data 2080 2080 0 0.0
.text 553852 553852 0 0.0
linux chip-tool-ipv6only arm64 (read only) 10555980 10555980 0 0.0
(read/write) 695928 695928 0 0.0
.bss 33912 33912 0 0.0
.data 2768 2768 0 0.0
.data.rel.ro 640376 640376 0 0.0
.dynamic 560 560 0 0.0
.got 13832 13832 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 535388 535388 0 0.0
.text 8372788 8372788 0 0.0
thermostat-no-ble arm64 (read only) 2478508 2478508 0 0.0
(read/write) 145016 145016 0 0.0
.bss 55336 55336 0 0.0
.data 1816 1816 0 0.0
.data.rel.ro 78640 78640 0 0.0
.dynamic 560 560 0 0.0
.got 5192 5192 0 0.0
.init 24 24 0 0.0
.init_array 432 432 0 0.0
.rodata 149656 149656 0 0.0
.text 2068256 2068256 0 0.0
mbed lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2463984 2463984 0 0.0
.bss 214932 214932 0 0.0
.data 5872 5872 0 0.0
.text 1426628 1426628 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 (read/write) 1178555 1178555 0 0.0
bss 145193 145193 0 0.0
rodata 136896 136896 0 0.0
text 815336 815336 0 0.0
nrf7002dk_nrf5340_cpuapp (read/write) 1349198 1349198 0 0.0
bss 105132 105132 0 0.0
rodata 204292 204292 0 0.0
text 755250 755250 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 (read/write) 1124203 1124203 0 0.0
bss 144428 144428 0 0.0
rodata 113216 113216 0 0.0
text 785496 785496 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 (read only) 842056 842056 0 0.0
(read/write) 1749796 1749796 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 188624 188624 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1238094 1238094 0 0.0
.debug_aranges 110768 110768 0 0.0
.debug_frame 371956 371956 0 0.0
.debug_info 27060924 27065539 4615 0.0
.debug_line 3720449 3720445 -4 -0.0
.debug_loc 3625015 3624970 -45 -0.0
.debug_ranges 346592 346592 0 0.0
.debug_str 3456750 3456857 107 0.0
.heap 842056 842056 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 572583 572583 0 0.0
.symtab 422128 422128 0 0.0
.text 1550120 1550120 0 0.0
.zero.table 8 8 0 0.0
text 0 0 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 (read only) 842784 842784 0 0.0
(read/write) 1692324 1692324 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 187896 187896 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2664 2664 0 0.0
.debug_abbrev 1229985 1229985 0 0.0
.debug_aranges 110240 110240 0 0.0
.debug_frame 375012 375012 0 0.0
.debug_info 26797722 26802301 4579 0.0
.debug_line 3739347 3739343 -4 -0.0
.debug_loc 3612621 3612576 -45 -0.0
.debug_ranges 345208 345208 0 0.0
.debug_str 3445762 3445869 107 0.0
.heap 842784 842784 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 536672 536672 0 0.0
.symtab 408560 408560 0 0.0
.text 1493376 1493376 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
light cy8ckit_062s2_43012 (read only) 850976 850976 0 0.0
(read/write) 1610540 1610540 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 179912 179912 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2456 2456 0 0.0
.debug_abbrev 1064762 1064762 0 0.0
.debug_aranges 102440 102440 0 0.0
.debug_frame 345344 345344 0 0.0
.debug_info 22260257 22264272 4015 0.0
.debug_line 3304372 3304372 0 0.0
.debug_loc 3310483 3310498 15 0.0
.debug_ranges 309344 309344 0 0.0
.debug_str 3251348 3251455 107 0.0
.heap 850976 850976 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 472997 472997 0 0.0
.symtab 376928 376928 0 0.0
.text 1419784 1419784 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
lock cy8ckit_062s2_43012 (read only) 845984 845984 0 0.0
(read/write) 1644476 1644476 0 0.0
.ARM.attributes 46 46 0 0.0
.ARM.exidx 8 8 0 0.0
.bss 184888 184888 0 0.0
.comment 200 200 0 0.0
.copy.table 24 24 0 0.0
.cy_m0p_image 6216 6216 0 0.0
.cy_sharedmem 8 8 0 0.0
.data 2472 2472 0 0.0
.debug_abbrev 1066580 1066580 0 0.0
.debug_aranges 102824 102824 0 0.0
.debug_frame 347144 347144 0 0.0
.debug_info 22478648 22482629 3981 0.0
.debug_line 3305483 3305479 -4 -0.0
.debug_loc 3331990 3331945 -45 -0.0
.debug_ranges 311200 311200 0 0.0
.debug_str 3267186 3267293 107 0.0
.heap 845984 845984 0 0.0
.noinit 148 148 0 0.0
.ramVectors 736 736 0 0.0
.shstrtab 288 288 0 0.0
.stab 156 156 0 0.0
.stabstr 335 335 0 0.0
.stack_dummy 4096 4096 0 0.0
.strtab 475714 475714 0 0.0
.symtab 378928 378928 0 0.0
.text 1448728 1448728 0 0.0
.zero.table 0 0 0 0.0
8 8 0 0.0
qpg lighting-app qpg6105+debug (read/write) 1151220 1151212 -8 -0.0
.bss 100348 100348 0 0.0
.data 840 840 0 0.0
.text 598320 598312 -8 -0.0
lock-app qpg6105+debug (read/write) 1117540 1117540 0 0.0
.bss 95828 95828 0 0.0
.data 836 836 0 0.0
.text 564636 564636 0 0.0
telink all-clusters-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1068540 1068540 0 0.0
bss 97632 97632 0 0.0
text 724610 724610 0 0.0
all-clusters-minimal-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1007832 1007832 0 0.0
bss 96856 96856 0 0.0
text 689768 689764 -4 -0.0
light-switch-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 929280 929280 0 0.0
bss 89104 89104 0 0.0
text 636374 636372 -2 -0.0
lighting-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 1007240 1007240 0 0.0
bss 97156 97156 0 0.0
text 702150 702148 -2 -0.0
ota-requestor-app tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 942876 942868 -8 -0.0
bss 90052 90052 0 0.0
text 647630 647628 -2 -0.0
thermostat tlsr9518adk80d (read only) 4 4 0 0.0
(read/write) 932436 932444 8 0.0
bss 90496 90496 0 0.0
text 637072 637074 2 0.0

@mkardous-silabs
Copy link
Contributor Author

PR implements a portion of #24253

@bzbarsky-apple bzbarsky-apple merged commit cc94655 into project-chip:master Jan 4, 2023
@mkardous-silabs mkardous-silabs deleted the feature/cm-table branch January 4, 2023 16:40
lecndav pushed a commit to lecndav/connectedhomeip that referenced this pull request Mar 22, 2023
…table (project-chip#24096)

* Client Monitoring table implementation

* CM table tests

* Add sub-struct to add a validation function
Add unit test for invalid values

* Address PR comments

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <[email protected]>

* Increase max unit test limit

* Apply suggestions from code review

Co-authored-by: Damian Królik <[email protected]>

* Move comments to headeR

* update test assert

* Add provisional comment

* restyle

Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: Damian Królik <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

6 participants