commit | e3c8e94cbffee472958ddd04c129494aed306ee3 | [log] [tgz] |
---|---|---|
author | Alexei Frolov <frolv@google.com> | Mon Apr 15 17:41:01 2024 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Mon Apr 15 17:41:01 2024 +0000 |
tree | d7b2f78fd678170f850024c97bc555e2b3bbee86 | |
parent | 79c1f24e16c01c356a276031e5ac0b9745b34ffc [diff] |
pw_transfer: Implement adaptive windowing in Python This implements adaptive transfer windowing in the Python transfer client. Window size is changed to be a multiple of the max chunk size, and is increased in response to successful receipt of data and decreased with packet loss. This follows an algorithm similar to TCP's congestion control. Change-Id: Ibeec9268abc33d7a2114df0c8ab67ce0f92d5920 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/147510 Reviewed-by: Taylor Cramer <cramertj@google.com> Commit-Queue: Alexei Frolov <frolv@google.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/.