-
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
Handle the output event of type TransferSession::OutputEventType::kIn… #37324
Handle the output event of type TransferSession::OutputEventType::kIn… #37324
Conversation
This fix makes the code complaint with the spec - https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/b5beeff24d47b6b3d3ee59b513b6e54f7c85269f/src/service_device_management/BulkDataExchange.adoc#bdx-status-codes. Specifically the bit - "If any such StatusReport message is received, or any other unexpected StatusReport is received, the receiving peer SHALL terminate its processing of the transfer and invalidate the exchange." |
PR #37324: Size comparison from e0792a4 to be55b15 Full report (14 builds for cc13x4_26x4, cc32xx, nrfconnect, qpg, stm32, tizen)
|
PR #37324: Size comparison from e0792a4 to d4cee81 Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #37324: Size comparison from e0792a4 to 35f437a Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #37324: Size comparison from e0792a4 to 3186266 Increases above 0.2%:
Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
3186266
to
a127e02
Compare
PR #37324: Size comparison from 435583e to a127e02 Full report (45 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, nrfconnect, psoc6, qpg, stm32, telink, tizen)
|
PR #37324: Size comparison from 435583e to bde7515 Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
PR #37324: Size comparison from 435583e to 004114f Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Fast tracking given this has had enough time for review, and is contributing to accessories crashing. |
…ternalError in the ProcessOuputEvents processing loop - The transfer session state machine generates an output event of type TransferSession::OutputEventType::kInternalError in certain error scenarios which put the transfer session in a bad state and when that happens, we need to unwind the processing loop for events and clean up.
Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>
004114f
to
f17da93
Compare
PR #37324: Size comparison from fdae1ae to f17da93 Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
…ternalError in the ProcessOuputEvents processing loop
certain error scenarios which put the transfer session in a bad state and when that happens, we need to unwind the processing
loop for events and clean up.
Testing
Ran MTROTAProvider tests by faking a status report in the middle of the BDX transfer. Saw the code loop with the Internal Error. Tested with the fix and the code handles StatusReport and terminates the BDX transfer as expected.