commit | 19d58a7afb51cedb9523e056ade5c8d6736713a7 | [log] [tgz] |
---|---|---|
author | Alexei Frolov <frolv@google.com> | Fri Apr 12 23:39:30 2024 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Apr 12 23:39:30 2024 +0000 |
tree | d3c7822e04d8120e8e960fdbaf7cc1e3d960018a | |
parent | 28826a8a3014f44c577ac9c49c7def66372e6227 [diff] |
pw_transfer: Implement adaptive windowing in C++ This implements adaptive transfer windowing in the C++ transfer client and server. 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: Ifba5cceaa79c83f6d44ebb2b12359f3ef0b1a263 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/146392 Commit-Queue: Alexei Frolov <frolv@google.com> Reviewed-by: Keir Mierle <keir@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/.