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

Fix exchange delegate for post-subscription #15339

Conversation

yunhanw-google
Copy link
Contributor

Problem

Currently, after unsolicited report is received by InteractionModelEngine and further readClient during post-subscription , the delegate is still from InteractionModelEngine, when response is timeout, the InteractionModelEngine's delegate take effective, we expect read client's exchange delegate takes effective.

Change overview

Fix exchange delegate when processing unsolicted report in read client

Testing

Still working on automatic test

@github-actions
Copy link

github-actions bot commented Feb 18, 2022

PR #15339: Size comparison from 90e379e to 67d9baa

Increases (16 builds for cyw30739, esp32, linux, nrfconnect, qpg, telink)
platform target config section 90e379e 67d9baa change % change
cyw30739 ota-requestor cyw930739m2evb_01 (read/write) 578506 578514 8 0.0
.app_xip_area 474552 474560 8 0.0
esp32 all-clusters-app c3devkit (read only) 950350 950352 2 0.0
.flash.text 950350 950352 2 0.0
linux all-clusters-app debug (read only) 2386281 2386313 32 0.0
.text 2015682 2015714 32 0.0
bridge-app debug+rpc (read only) 1734805 1734837 32 0.0
.text 1475237 1475269 32 0.0
chip-tool debug (read only) 8988653 8988685 32 0.0
.text 7856309 7856341 32 0.0
chip-tool-ipv6only arm64 (read only) 8714244 8714260 16 0.0
.text 7352276 7352292 16 0.0
door-lock-app debug (read only) 1947257 1947289 32 0.0
.text 1623554 1623586 32 0.0
lighting-app debug+rpc (read only) 2073745 2073777 32 0.0
.text 1751298 1751330 32 0.0
ota-provider-app debug (read only) 1880713 1880745 32 0.0
.text 1570002 1570034 32 0.0
ota-requestor-app debug (read only) 1893745 1893761 16 0.0
.text 1590322 1590338 16 0.0
shell debug (read only) 2361169 2361185 16 0.0
.text 1995666 1995682 16 0.0
tv-app debug (read only) 2543193 2543209 16 0.0
.text 2169666 2169682 16 0.0
nrfconnect lock-app nrf5340dk_nrf5340_cpuapp text 557740 557744 4 0.0
qpg lighting-app qpg6105+debug (read only) 600060 600068 8 0.0
.text 594740 594748 8 0.0
lock-app qpg6105+debug (read only) 565828 565836 8 0.0
.text 560508 560516 8 0.0
telink lighting-app tlsr9518adk80d text 618826 618828 2 0.0
Full report (43 builds for cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, qpg, telink)
platform target config section 90e379e 67d9baa change % change
cyw30739 light cyw930739m2evb_01 (read/write) 599234 599234 0 0.0
.app_xip_area 503160 503160 0 0.0
.bss 78772 78772 0 0.0
.data 644 644 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
lock cyw930739m2evb_01 (read/write) 557270 557270 0 0.0
.app_xip_area 462740 462740 0 0.0
.bss 77268 77268 0 0.0
.data 608 608 0 0.0
.rodata 0 0 0 0.0
.text 0 0 0 0.0
ota-requestor cyw930739m2evb_01 (read/write) 578506 578514 8 0.0
.app_xip_area 474552 474560 8 0.0
.bss 86364 86364 0 0.0
.data 552 552 0 0.0
.rodata 0 0 0 0.0
.text 112 112 0 0.0
efr32 lighting-app BRD4161A (read only) 916160 916160 0 0.0
(read/write) 129512 129512 0 0.0
.bss 127472 127472 0 0.0
.data 2036 2036 0 0.0
.text 916152 916152 0 0.0
BRD4161A+rpc (read only) 944868 944868 0 0.0
(read/write) 146424 146424 0 0.0
.bss 144248 144248 0 0.0
.data 2176 2176 0 0.0
.text 944860 944860 0 0.0
window-app BRD4161A (read only) 850000 850000 0 0.0
(read/write) 127424 127424 0 0.0
.bss 125520 125520 0 0.0
.data 1904 1904 0 0.0
.text 849992 849992 0 0.0
esp32 all-clusters-app c3devkit (read only) 950350 950352 2 0.0
(read/write) 1401938 1401938 0 0.0
.dram0.bss 68512 68512 0 0.0
.dram0.data 14156 14156 0 0.0
.flash.rodata 200376 200376 0 0.0
.flash.text 950350 950352 2 0.0
.iram0.text 62056 62056 0 0.0
m5stack (read only) 999843 999843 0 0.0
(read/write) 467216 467216 0 0.0
.dram0.bss 73656 73656 0 0.0
.dram0.data 34064 34064 0 0.0
.flash.rodata 227368 227368 0 0.0
.flash.text 994459 994459 0 0.0
.iram0.text 123399 123399 0 0.0
k32w light k32w061+release (read/write) 692416 692416 0 0.0
.bss 78392 78392 0 0.0
.data 1912 1912 0 0.0
.text 606312 606312 0 0.0
lock k32w061+release (read/write) 694956 694956 0 0.0
.bss 78608 78608 0 0.0
.data 1952 1952 0 0.0
.text 608596 608596 0 0.0
linux all-clusters-app debug (read only) 2386281 2386313 32 0.0
(read/write) 151456 151456 0 0.0
.bss 65376 65376 0 0.0
.data 1328 1328 0 0.0
.data.rel.ro 79048 79048 0 0.0
.dynamic 592 592 0 0.0
.got 4160 4160 0 0.0
.init 27 27 0 0.0
.init_array 920 920 0 0.0
.rodata 207013 207013 0 0.0
.text 2015682 2015714 32 0.0
bridge-app debug+rpc (read only) 1734805 1734837 32 0.0
(read/write) 94856 94856 0 0.0
.bss 49296 49296 0 0.0
.data 2034 2034 0 0.0
.data.rel.ro 38376 38376 0 0.0
.dynamic 592 592 0 0.0
.got 3952 3952 0 0.0
.init 27 27 0 0.0
.init_array 560 560 0 0.0
.rodata 142732 142732 0 0.0
.text 1475237 1475269 32 0.0
chip-tool debug (read only) 8988653 8988685 32 0.0
(read/write) 319568 319568 0 0.0
.bss 40728 40728 0 0.0
.data 1184 1184 0 0.0
.data.rel.ro 271624 271624 0 0.0
.dynamic 608 608 0 0.0
.got 4784 4784 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 474069 474069 0 0.0
.text 7856309 7856341 32 0.0
chip-tool-ipv6only arm64 (read only) 8714244 8714260 16 0.0
(read/write) 431377 431377 0 0.0
.bss 58977 58977 0 0.0
.data 1216 1216 0 0.0
.data.rel.ro 316816 316816 0 0.0
.dynamic 560 560 0 0.0
.got 50568 50568 0 0.0
.init 24 24 0 0.0
.init_array 200 200 0 0.0
.rodata 450508 450508 0 0.0
.text 7352276 7352292 16 0.0
door-lock-app debug (read only) 1947257 1947289 32 0.0
(read/write) 120952 120952 0 0.0
.bss 52016 52016 0 0.0
.data 1010 1010 0 0.0
.data.rel.ro 62488 62488 0 0.0
.dynamic 592 592 0 0.0
.got 4136 4136 0 0.0
.init 27 27 0 0.0
.init_array 672 672 0 0.0
.rodata 174194 174194 0 0.0
.text 1623554 1623586 32 0.0
lighting-app debug+rpc (read only) 2073745 2073777 32 0.0
(read/write) 125944 125944 0 0.0
.bss 53024 53024 0 0.0
.data 1400 1400 0 0.0
.data.rel.ro 65984 65984 0 0.0
.dynamic 608 608 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 720 720 0 0.0
.rodata 166801 166801 0 0.0
.text 1751298 1751330 32 0.0
ota-provider-app debug (read only) 1880713 1880745 32 0.0
(read/write) 116568 116568 0 0.0
.bss 51872 51872 0 0.0
.data 1224 1224 0 0.0
.data.rel.ro 57816 57816 0 0.0
.dynamic 608 608 0 0.0
.got 4392 4392 0 0.0
.init 27 27 0 0.0
.init_array 624 624 0 0.0
.rodata 159099 159099 0 0.0
.text 1570002 1570034 32 0.0
ota-requestor-app debug (read only) 1893745 1893761 16 0.0
(read/write) 117952 117952 0 0.0
.bss 52288 52288 0 0.0
.data 1128 1128 0 0.0
.data.rel.ro 59080 59080 0 0.0
.dynamic 592 592 0 0.0
.got 4192 4192 0 0.0
.init 27 27 0 0.0
.init_array 632 632 0 0.0
.rodata 153484 153484 0 0.0
.text 1590322 1590338 16 0.0
shell debug (read only) 2361169 2361185 16 0.0
(read/write) 153872 153872 0 0.0
.bss 73728 73728 0 0.0
.data 832 832 0 0.0
.data.rel.ro 73632 73632 0 0.0
.dynamic 592 592 0 0.0
.got 4168 4168 0 0.0
.init 27 27 0 0.0
.init_array 904 904 0 0.0
.rodata 208050 208050 0 0.0
.text 1995666 1995682 16 0.0
thermostat-no-ble arm64 (read only) 2167564 2167564 0 0.0
(read/write) 151137 151137 0 0.0
.bss 67505 67505 0 0.0
.data 1032 1032 0 0.0
.data.rel.ro 75384 75384 0 0.0
.dynamic 560 560 0 0.0
.got 4224 4224 0 0.0
.init 24 24 0 0.0
.init_array 336 336 0 0.0
.rodata 134060 134060 0 0.0
.text 1814032 1814032 0 0.0
tv-app debug (read only) 2543193 2543209 16 0.0
(read/write) 152064 152064 0 0.0
.bss 69248 69248 0 0.0
.data 3200 3200 0 0.0
.data.rel.ro 73576 73576 0 0.0
.dynamic 592 592 0 0.0
.got 4552 4552 0 0.0
.init 27 27 0 0.0
.init_array 888 888 0 0.0
.rodata 199181 199181 0 0.0
.text 2169666 2169682 16 0.0
mbed all-clusters-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2431252 2431252 0 0.0
.bss 195924 195924 0 0.0
.data 5328 5328 0 0.0
.text 1393824 1393824 0 0.0
lighting-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2393028 2393028 0 0.0
.bss 188432 188432 0 0.0
.data 5632 5632 0 0.0
.text 1355600 1355600 0 0.0
lock-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2328536 2328536 0 0.0
.bss 187432 187432 0 0.0
.data 5608 5608 0 0.0
.text 1291136 1291136 0 0.0
pigweed-app CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 1139840 1139840 0 0.0
.bss 11796 11796 0 0.0
.data 4368 4368 0 0.0
.text 103224 103224 0 0.0
shell CY8CPROTO_062_4343W+release (read only) 6224 6224 0 0.0
(read/write) 2319428 2319428 0 0.0
.bss 185980 185980 0 0.0
.data 5440 5440 0 0.0
.text 1282000 1282000 0 0.0
nrfconnect lighting-app nrf52840dk_nrf52840 (read/write) 1023275 1023275 0 0.0
bss 123532 123532 0 0.0
rodata 120904 120904 0 0.0
text 699824 699824 0 0.0
nrf52840dk_nrf52840+rpc (read/write) 992587 992587 0 0.0
bss 120720 120720 0 0.0
rodata 112448 112448 0 0.0
text 679724 679724 0 0.0
nrf52840dongle_nrf52840 (read/write) 1038031 1038031 0 0.0
bss 124752 124752 0 0.0
rodata 119736 119736 0 0.0
text 703636 703636 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 929886 929886 0 0.0
bss 120092 120092 0 0.0
rodata 114160 114160 0 0.0
text 614848 614848 0 0.0
lock-app nrf52840dk_nrf52840 (read/write) 952039 952039 0 0.0
bss 121760 121760 0 0.0
rodata 109740 109740 0 0.0
text 641940 641940 0 0.0
nrf5340dk_nrf5340_cpuapp (read/write) 859518 859518 0 0.0
bss 118352 118352 0 0.0
rodata 102912 102912 0 0.0
text 557740 557744 4 0.0
pigweed-app nrf52840dk_nrf52840 (read/write) 527595 527595 0 0.0
bss 53632 53632 0 0.0
rodata 49976 49976 0 0.0
text 361016 361016 0 0.0
pump-app nrf52840dk_nrf52840 (read/write) 950615 950615 0 0.0
bss 121480 121480 0 0.0
rodata 108692 108692 0 0.0
text 641760 641760 0 0.0
pump-controller-app nrf52840dk_nrf52840 (read/write) 946579 946579 0 0.0
bss 121484 121484 0 0.0
rodata 108392 108392 0 0.0
text 638000 638000 0 0.0
shell nrf52840dk_nrf52840 (read/write) 811335 811335 0 0.0
bss 113328 113328 0 0.0
rodata 79676 79676 0 0.0
text 540684 540684 0 0.0
p6 all-clusters-app default (read/write) 2489304 2489304 0 0.0
.bss 124240 124240 0 0.0
.data 2672 2672 0 0.0
.text 1447568 1447568 0 0.0
light-app default (read/write) 2394568 2394568 0 0.0
.bss 113896 113896 0 0.0
.data 2528 2528 0 0.0
.text 1352832 1352832 0 0.0
lock-app default (read/write) 2358128 2358128 0 0.0
.bss 113648 113648 0 0.0
.data 2488 2488 0 0.0
.text 1316392 1316392 0 0.0
qpg lighting-app qpg6105+debug (read only) 600060 600068 8 0.0
(read/write) 146940 146940 0 0.0
.bss 90952 90952 0 0.0
.data 1112 1112 0 0.0
.text 594740 594748 8 0.0
lock-app qpg6105+debug (read only) 565828 565836 8 0.0
(read/write) 146940 146940 0 0.0
.bss 90960 90960 0 0.0
.data 1064 1064 0 0.0
.text 560508 560516 8 0.0
persistent-storage-app qpg6105+debug (read only) 99536 99536 0 0.0
(read/write) 146941 146941 0 0.0
.bss 24001 24001 0 0.0
.data 180 180 0 0.0
.text 94216 94216 0 0.0
telink lighting-app tlsr9518adk80d (read/write) 878662 878662 0 0.0
bss 87504 87504 0 0.0
noinit 37160 37160 0 0.0
text 618826 618828 2 0.0

@Damian-Nordic Damian-Nordic merged commit 288007d into project-chip:master Feb 18, 2022
yunhanw-google added a commit to yunhanw-google/connectedhomeip that referenced this pull request Feb 19, 2022
-- Add automatic test where initial chunked report has been received by read client during post-subscription, and exchange context and delegate has been passed from interaction model engine to read client, we expire the session so that the further chunked report cannot be receive by client so that onResponseTimeout is triggered from readClient.
yunhanw-google added a commit to yunhanw-google/connectedhomeip that referenced this pull request Feb 19, 2022
-- Add automatic test where initial chunked report has been received by read client during post-subscription, and exchange context and delegate has been passed from interaction model engine to read client, we expire the session so that the further chunked report cannot be receive by client so that onResponseTimeout is triggered from readClient.
yunhanw-google added a commit to yunhanw-google/connectedhomeip that referenced this pull request Feb 19, 2022
--SetResponseTimeout when it is subscribe or in chunked procedure
--Call OnReportConfirm in MoveToState when state is IsAwaitingReportResponsee

add missing test from PR #project-chip#15339

-- Add automatic test where initial chunked report has been received by read client during post-subscription, and exchange context and delegate has been passed from interaction model engine to read client, we expire the session so that the further chunked report cannot be receive by client so that onResponseTimeout is triggered from readClient.
yunhanw-google added a commit to yunhanw-google/connectedhomeip that referenced this pull request Feb 19, 2022
--SetResponseTimeout when it is subscribe or in chunked procedure
--Call OnReportConfirm in MoveToState when state is IsAwaitingReportResponsee

add missing test from PR #project-chip#15339

-- Add automatic test where initial chunked report has been received by read client during post-subscription, and exchange context and delegate has been passed from interaction model engine to read client, we expire the session so that the further chunked report cannot be receive by client so that onResponseTimeout is triggered from readClient.
yunhanw-google added a commit to yunhanw-google/connectedhomeip that referenced this pull request Feb 22, 2022
--SetResponseTimeout when it is subscribe or in chunked procedure
--Call OnReportConfirm in MoveToState when state is IsAwaitingReportResponsee

add missing test from PR #project-chip#15339

-- Add automatic test where initial chunked report has been received by read client during post-subscription, and exchange context and delegate has been passed from interaction model engine to read client, we expire the session so that the further chunked report cannot be receive by client so that onResponseTimeout is triggered from readClient.
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.

3 participants