-
Notifications
You must be signed in to change notification settings - Fork 3k
Update mbed-coap to version 5.1.0 #11359
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
Update mbed-coap to version 5.1.0 #11359
Conversation
- Reduce heap footprint by storing only single block when receiving a blockwise message. * User is now responsible of freeing the data by calling sn_coap_protocol_block_remove() and must not free the payload separately. - Bug fix: Request blockwise transfer if incoming payload length is too large and when it comes without block indication.
Is this breaking change here: * User is now responsible of freeing the data by calling sn_coap_protocol_block_remove() and must not free the payload separately. Or what is breaking and why? Please add release notes section above. Isn't this just functional change ? |
@0xc0170 Yes, you are right that this is a breaking change as the API behaviour has changed. Earlier using this API, this library handled the memory allocation but it was not memory optimized and caused inflated memory heap usage. In this version, we have given that control to the application which means application will have to implement the freeing logic on their end. |
@anttiylitokola, thank you for your changes. |
Changelog has been updated. |
@anttiylitokola also add release section (it was in the PR template) and add details there (we use these for real release notes). |
CI started |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
waiting for the release notes section
@0xc0170, is the release note section ok now? |
Test run: FAILEDSummary: 1 of 4 test jobs failed Failed test jobs:
|
Restarting the build, wifi example failed but looks like timeout to me |
Test run: FAILEDSummary: 1 of 4 test jobs failed Failed test jobs:
|
Error cc @ARMmbed/mbed-os-test Please review |
Restarted CI |
Test run: FAILEDSummary: 3 of 4 test jobs failed Failed test jobs:
|
Failure not related @ARMmbed/mbed-os-crypto updated the example for upcoming crypto, trying to fix it now |
Ci restarted (should be fixed now) |
Test run: FAILEDSummary: 1 of 11 test jobs failed Failed test jobs:
|
cloud client restarted |
cloud client tests will fail due to this breaking change. |
@anttiylitokola Please talk to @OPpuolitaival how to fix this. I would assume the test would be fixed for this PR and master (update, restart, integrate). |
Waiting for pelion device management client release candidate for testing in CI |
I don't follow. What shall we do here? |
@OPpuolitaival there wont be any release candidate since it will require this fix to be merged to mbed-os. This is a typical "Catch22" situation. |
By default CoAP will create a copy of the whole data to be passed to application and it keeps the backward compatibility. If enabled, application must NOT free the payload when it gets the COAP_STATUS_PARSER_BLOCKWISE_MSG_RECEIVED status. And application must call sn_coap_protocol_block_remove() instead.
Feature is now behind a flag which is disabled by default to maintain backward compatibility. |
CI restarted |
Test run: SUCCESSSummary: 11 of 11 test jobs passed |
Description
Pull request type
Reviewers
@yogpan01, @teetak01