Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@andy31415
Copy link
Contributor

@andy31415 andy31415 commented Apr 11, 2025

Intent is to allow some re-use as it seems common for us to want available support for both in-flash references and dynamic allocation (based on #38321 (comment))

Changes

  • class placement is now src/lib/support/ReadOnlyBuffer.h
  • name is chip::ReadOnlyBuffer/chip::ReadOnlyBufferBuilder (previous ListBuilder felt like a mismatch)
  • relevant renames and target updates, plus a few no-discard fixes

Testing

Unit tests were moved. Code should still be covered.
Some nodiscard addtions found a few places to fix, which I did (i.e. compiler now checks nodiscard).

@github-actions
Copy link

github-actions bot commented Apr 11, 2025

PR #38364: Size comparison from 11aa2ea to 3928f0e

Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 11aa2ea 3928f0e change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1098536 1098550 14 0.0
RAM 94850 94850 0 0.0
bl702 lighting-app bl702+eth FLASH 653450 653466 16 0.0
RAM 33533 33533 0 0.0
bl702+wifi FLASH 830706 830722 16 0.0
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1063232 1063246 14 0.0
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 894030 894048 18 0.0
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 976906 976922 16 0.0
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 818644 818628 -16 -0.0
RAM 120288 120288 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 827500 827500 0 0.0
RAM 125384 125384 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 774440 774440 0 0.0
RAM 113756 113756 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 758740 758724 -16 -0.0
RAM 113972 113972 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 542078 542078 0 0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 576106 576106 0 0.0
RAM 205392 205392 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 660189 660189 0 0.0
RAM 75428 75428 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 680041 680041 0 0.0
RAM 78068 78068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 680041 680041 0 0.0
RAM 78068 78068 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 636973 636973 0 0.0
RAM 70496 70496 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620429 620429 0 0.0
RAM 71676 71676 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 640065 640065 0 0.0
RAM 74220 74220 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 640065 640065 0 0.0
RAM 74220 74220 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 639909 639909 0 0.0
RAM 74676 74676 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 659625 659625 0 0.0
RAM 77220 77220 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 659625 659625 0 0.0
RAM 77220 77220 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616273 616273 0 0.0
RAM 68764 68764 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 636125 636125 0 0.0
RAM 71404 71404 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 636125 636125 0 0.0
RAM 71404 71404 0 0.0
efr32 lock-app BRD4187C FLASH 941128 941096 -32 -0.0
RAM 159944 159944 0 0.0
BRD4338a FLASH 735112 735112 0 0.0
RAM 234852 234852 0 0.0
window-app BRD4187C FLASH 1033584 1033576 -8 -0.0
RAM 128048 128048 0 0.0
esp32 all-clusters-app c3devkit DRAM 103408 103408 0 0.0
FLASH 1797906 1797924 18 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121980 121980 0 0.0
FLASH 1763570 1763574 4 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2721795 2721767 -28 -0.0
RAM 114184 114184 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6238406 6238378 -28 -0.0
RAM 531048 531048 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5377874 5377814 -60 -0.0
RAM 224432 224432 0 0.0
bridge-app debug unknown 5544 5544 0 0.0
FLASH 4690606 4690578 -28 -0.0
RAM 202816 202816 0 0.0
camera-app debug unknown 8832 8832 0 0.0
FLASH 6699387 6699323 -64 -0.0
RAM 224240 224240 0 0.0
camera-controller debug unknown 9120 9120 0 0.0
FLASH 13689195 13689179 -16 -0.0
RAM 644272 644272 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14070737 14070709 -28 -0.0
RAM 634448 634448 0 0.0
chip-tool-ipv6only arm64 unknown 22816 22816 0 0.0
FLASH 12158040 1215800 -32 -0.0
RAM 687080 687080 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12215527 12215499 -28 -0.0
RAM 633808 633808 0 0.0
fabric-bridge-app debug unknown 4800 4800 0 0.0
FLASH 4522496 4522436 -60 -0.0
RAM 190112 190112 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5660885 5660853 -32 -0.0
RAM 485416 485416 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5585649 5585617 -32 -0.0
RAM 207064 207064 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4758322 4758294 -28 -0.0
RAM 194208 194208 0 0.0
ota-provider-app debug unknown 4840 4840 0 0.0
FLASH 4380478 4380450 -28 -0.0
RAM 182928 182928 0 0.0
ota-requestor-app debug unknown 4792 4792 0 0.0
FLASH 4510762 4510702 -60 -0.0
RAM 187400 187400 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3013404 3013372 -32 -0.0
RAM 147712 147712 0 0.0
thermostat-no-ble arm64 unknown 9552 9552 0 0.0
FLASH 4199936 4199920 -16 -0.0
RAM 231912 231912 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 5998005 5997973 -32 -0.0
RAM 608832 608832 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12229629 12229597 -32 -0.0
RAM 752144 752144 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 916524 916520 -4 -0.0
RAM 167469 167469 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 909444 909448 4 0.0
RAM 145713 145713 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852864 852864 0 0.0
RAM 141223 141223 0 0.0
nxp contact k32w0+release FLASH 588736 588736 0 0.0
RAM 70996 70996 0 0.0
mcxw71+release FLASH 607200 607192 -8 -0.0
RAM 63152 63152 0 0.0
light k32w0+release FLASH 614556 614556 0 0.0
RAM 70292 70292 0 0.0
k32w1+release FLASH 691376 691368 -8 -0.0
RAM 72000 72000 0 0.0
lock mcxw71+release FLASH 756416 756408 -8 -0.0
RAM 67564 67564 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1661716 1661732 16 0.0
RAM 212352 212352 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1565676 1565676 0 0.0
RAM 208544 208544 0 0.0
light cy8ckit_062s2_43012 FLASH 1442604 1442604 0 0.0
RAM 197312 197312 0 0.0
lock cy8ckit_062s2_43012 FLASH 1471452 1471468 16 0.0
RAM 224976 224976 0 0.0
qpg lighting-app qpg6105+debug FLASH 665252 665252 0 0.0
RAM 105172 105172 0 0.0
lock-app qpg6105+debug FLASH 623672 623672 0 0.0
RAM 99792 99792 0 0.0
stm32 light STM32WB5MM-DK FLASH 461320 461320 0 0.0
RAM 141488 141488 0 0.0
telink bridge-app tl7218x FLASH 666206 666224 18 0.0
689332 689350 18 0.0
RAM 90704 90704 0 0.0
101852 101852 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 777334 777352 18 0.0
RAM 50120 50120 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 767596 767614 18 0.0
RAM 40420 40420 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 756056 756074 18 0.0
783970 783988 18 0.0
RAM 97540 97540 0 0.0
109308 109308 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 683074 683092 18 0.0
705184 705202 18 0.0
RAM 51588 51588 0 0.0
62620 62620 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711524 711542 18 0.0
741366 741384 18 0.0
RAM 73408 73408 0 0.0
85808 85808 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 709070 709088 18 0.0
RAM 37044 37044 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603532 603550 18 0.0
603106 603124 18 0.0
RAM 138640 138640 0 0.0
148704 148704 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 791054 791076 22 0.0
818584 818606 22 0.0
RAM 96396 96396 0 0.0
107568 107568 0 0.0
tizen all-clusters-app arm unknown 5152 5152 0 0.0
FLASH 1790912 1790904 -8 -0.0
RAM 94472 94472 0 0.0
chip-tool-ubsan arm unknown 11836 11836 0 0.0
FLASH 20061694 20061606 -88 -0.0
RAM 8794384 8794480 96 0.0

@github-actions
Copy link

github-actions bot commented Apr 11, 2025

PR #38364: Size comparison from 11aa2ea to cde77f3

Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 11aa2ea cde77f3 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1098536 1098550 14 0.0
RAM 94850 94850 0 0.0
bl702 lighting-app bl702+eth FLASH 653450 653466 16 0.0
RAM 33533 33533 0 0.0
bl702+wifi FLASH 830706 830722 16 0.0
RAM 22257 22257 0 0.0
bl706+mfd+rpc+littlefs FLASH 1063232 1063502 270 0.0
RAM 32181 32181 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 894030 894304 274 0.0
RAM 26920 26920 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 976906 976922 16 0.0
RAM 24668 24668 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 818644 818692 48 0.0
RAM 120288 120288 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 827500 827564 64 0.0
RAM 125384 125384 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 774440 774504 64 0.0
RAM 113756 113756 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 758740 758788 48 0.0
RAM 113972 113972 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 542078 542142 64 0.0
RAM 205144 205144 0 0.0
lock CC3235SF_LAUNCHXL FLASH 576106 576170 64 0.0
RAM 205392 205392 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 660189 660245 56 0.0
RAM 75428 75428 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 680041 680105 64 0.0
RAM 78068 78068 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 680041 680105 64 0.0
RAM 78068 78068 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 636973 637029 56 0.0
RAM 70496 70496 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 620429 620493 64 0.0
RAM 71676 71676 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 640065 640129 64 0.0
RAM 74220 74220 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 640065 640129 64 0.0
RAM 74220 74220 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 639909 639965 56 0.0
RAM 74676 74676 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 659625 659689 64 0.0
RAM 77220 77220 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 659625 659689 64 0.0
RAM 77220 77220 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 616273 616337 64 0.0
RAM 68764 68764 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 636125 636189 64 0.0
RAM 71404 71404 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 636125 636189 64 0.0
RAM 71404 71404 0 0.0
efr32 lock-app BRD4187C FLASH 941128 941160 32 0.0
RAM 159944 159944 0 0.0
BRD4338a FLASH 735112 735176 64 0.0
RAM 234852 234852 0 0.0
window-app BRD4187C FLASH 1033584 1033640 56 0.0
RAM 128048 128048 0 0.0
esp32 all-clusters-app c3devkit DRAM 103408 103408 0 0.0
FLASH 1797906 1797984 78 0.0
IRAM 83846 83846 0 0.0
m5stack DRAM 121980 121980 0 0.0
FLASH 1763570 1763662 92 0.0
IRAM 117043 117043 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2721795 2722065 270 0.0
RAM 114184 114184 0 0.0
all-clusters-app debug unknown 5656 5656 0 0.0
FLASH 6238406 6238646 240 0.0
RAM 531048 531048 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5377874 5378082 208 0.0
RAM 224432 224432 0 0.0
bridge-app debug unknown 5544 5544 0 0.0
FLASH 4690606 4690844 238 0.0
RAM 202816 202816 0 0.0
camera-app debug unknown 8832 8832 0 0.0
FLASH 6699387 6699627 240 0.0
RAM 224240 224240 0 0.0
camera-controller debug unknown 9120 9120 0 0.0
FLASH 13689195 13689195 0 0.0
RAM 644272 644272 0 0.0
chip-tool debug unknown 6256 6256 0 0.0
FLASH 14070737 14070725 -12 -0.0
RAM 634448 634448 0 0.0
chip-tool-ipv6only arm64 unknown 22816 22816 0 0.0
FLASH 12158040 1215800 -32 -0.0
RAM 687080 687080 0 0.0
fabric-admin debug unknown 5936 5936 0 0.0
FLASH 12215527 12215515 -12 -0.0
RAM 633808 633808 0 0.0
fabric-bridge-app debug unknown 4800 4800 0 0.0
FLASH 4522496 4522736 240 0.0
RAM 190112 190112 0 0.0
fabric-sync debug unknown 5056 5056 0 0.0
FLASH 5660885 5661157 272 0.0
RAM 485416 485416 0 0.0
lighting-app debug+rpc+ui unknown 6264 6264 0 0.0
FLASH 5585649 5585889 240 0.0
RAM 207064 207064 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4758322 4758592 270 0.0
RAM 194208 194208 0 0.0
ota-provider-app debug unknown 4840 4840 0 0.0
FLASH 4380478 4380466 -12 -0.0
RAM 182928 182928 0 0.0
ota-requestor-app debug unknown 4792 4792 0 0.0
FLASH 4510762 4511002 240 0.0
RAM 187400 187400 0 0.0
shell debug unknown 4272 4272 0 0.0
FLASH 3013404 3013644 240 0.0
RAM 147712 147712 0 0.0
thermostat-no-ble arm64 unknown 9552 9552 0 0.0
FLASH 4199936 4200160 224 0.0
RAM 231912 231912 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 5998005 5997989 -16 -0.0
RAM 608832 608832 0 0.0
tv-casting-app debug unknown 5416 5416 0 0.0
FLASH 12229629 12229901 272 0.0
RAM 752144 752144 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 916524 916584 60 0.0
RAM 167469 167469 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 909444 909492 48 0.0
RAM 145713 145713 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852864 852924 60 0.0
RAM 141223 141223 0 0.0
nxp contact k32w0+release FLASH 588736 588800 64 0.0
RAM 70996 70996 0 0.0
mcxw71+release FLASH 607200 607256 56 0.0
RAM 63152 63152 0 0.0
light k32w0+release FLASH 614556 614620 64 0.0
RAM 70292 70292 0 0.0
k32w1+release FLASH 691376 691432 56 0.0
RAM 72000 72000 0 0.0
lock mcxw71+release FLASH 756416 756472 56 0.0
RAM 67564 67564 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1661716 1661796 80 0.0
RAM 212352 212352 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1565676 1565740 64 0.0
RAM 208544 208544 0 0.0
light cy8ckit_062s2_43012 FLASH 1442604 1442668 64 0.0
RAM 197312 197312 0 0.0
lock cy8ckit_062s2_43012 FLASH 1471452 1471532 80 0.0
RAM 224976 224976 0 0.0
qpg lighting-app qpg6105+debug FLASH 665252 665316 64 0.0
RAM 105172 105172 0 0.0
lock-app qpg6105+debug FLASH 623672 623720 48 0.0
RAM 99792 99792 0 0.0
stm32 light STM32WB5MM-DK FLASH 461320 461384 64 0.0
RAM 141488 141488 0 0.0
telink bridge-app tl7218x FLASH 689332 666284 -23048 -3.3
RAM 101852 90704 -11148 -10.9
light-app-ota-compress-lzma-factory-data tl3218x FLASH 777334 777412 78 0.0
RAM 50120 50120 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 767596 767674 78 0.0
RAM 40420 40420 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 783970 756134 -27836 -3.6
RAM 109308 97540 -11768 -10.8
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 705184 683152 -22032 -3.1
RAM 62620 51588 -11032 -17.6
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 741366 711602 -29764 -4.0
RAM 85808 73408 -12400 -14.5
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 709070 709148 78 0.0
RAM 37044 37044 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 603106 603610 504 0.1
RAM 148704 138640 -10064 -6.8
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 818584 791136 -27448 -3.4
RAM 107568 96396 -11172 -10.4
tizen all-clusters-app arm unknown 5152 5152 0 0.0
FLASH 1790912 1791048 136 0.0
RAM 94472 94472 0 0.0
chip-tool-ubsan arm unknown 11836 11836 0 0.0
FLASH 20061694 20061606 -88 -0.0
RAM 8794384 8794480 96 0.0

@mergify mergify bot merged commit 4739fc1 into project-chip:master Apr 14, 2025
73 checks passed
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.

5 participants