commit | 0ae91ed7077a03d45edbd0ba86f27b3b4da773ba | [log] [tgz] |
---|---|---|
author | Alexei Frolov <frolv@google.com> | Tue Oct 04 20:36:48 2022 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Oct 04 20:36:48 2022 +0000 |
tree | bad667c823e83919f6a6ba11d3516f2511c456fc | |
parent | abff23f57f52af343602b055241f444d3ed6e0c9 [diff] |
pw_transfer: Support protocol v2 in Python client This updates the Python transfer client to work with either the legacy or version 2 transfer protocols. To support this, a wrapper class around the generated protobuf Chunk class is implemented, supporting serializing and deserialzing specific sets of fields based on the protocol version in use and type of chunk. To set the protocol version, a default can be provided when constructing a transfer manager. Alternatively, version can be set on a per-transfer basis when starting a new transfer. As with the C++ client, the default version remains LEGACY until all transfer implementations are ready to switch over. Bug: 243679452 Change-Id: I30dbca639a3e65ace9afcf3640fa569bf9d8e279 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/111330 Reviewed-by: Wyatt Hepler <hepler@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/.