NordicSemiconductor / IOS-nRF-Mesh-Library

Provision, configure and control Bluetooth mesh devices with nRF Mesh library.
https://www.nordicsemi.com/
BSD 3-Clause "New" or "Revised" License
313 stars 123 forks source link

Bug fix: ACK was sending too late #581

Closed philips77 closed 11 months ago

philips77 commented 11 months ago

This PR fixes #576.

When a segmented message was received, the ACK confirming the complete message was scheduled to be sent in a background queue. This caused a delay. The manager's callback was notified immediately and was able to send another message before the ACK was sent. The ACK would then be discarded by the Proxy node as having too low sequence number.

This PR removes this delay by sending ACK immediately without using the queue.

philips77 commented 11 months ago

This issue could also lead to getting "Another transfer in progress" when a new message was scheduled before finishing sending the previous one. Perhaps.