commit | 9d31a9dbd64eb8a2e4479b9c9645ea16847ecf75 | [log] [tgz] |
---|---|---|
author | pigweed-integration-roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com> | Wed May 12 22:16:36 2021 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed May 12 22:23:53 2021 +0000 |
tree | 8e747e8bb92a150bcc0836112ba736a1a47596e4 | |
parent | 9d01ea0210d44da9ad57d0aa28c408d130699bb5 [diff] |
[roll third_party/pigweed] pw_protobuf: Encoder rework Rewrites the pw_protobuf encoder to be oriented around pw_stream compatibility. Improvements: * Only the deepest nested encoder can be used at any given moment. Using a parent encoder triggers a crash rather than silently corrupting data. * Nested depth is bounded by scratch buffer size and stack usage rather than template arguments. * Can write to pw::stream::Writer objects without any temporary buffer. * Encoders can be explicitly finalized to allow returning to the parent encoder for further modifications without needing to create scopes to handle RAII behavior. * Proto encode interfaces can standardize on the StreamingEncoder as any StreamingEncoder can nest until the temporary buffer is exhausted. * Better handling of endianness. Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/40245 third_party/pigweed Rolled-Commits: dc51315530070a3..0ed221cbb8b9432 Roller-URL: https://ci.chromium.org/b/8847401239922490016 Cq-Cl-Tag: roller-builder:pigweed-experimental-roller Cq-Cl-Tag: roller-bid:8847401239922490016 CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I576dcc891a449bee7c690c7bb662c10a7d097306 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/45060 Reviewed-by: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com> Commit-Queue: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
This repository contains experimental pigweed modules.
Clone this repo with --recursive
to get all required submodules.
git clone --recursive https://pigweed.googlesource.com/pigweed/experimental
This will pull the Pigweed source repository into third_party/pigweed
. If you already cloned but forgot to --recursive
run git submodule update --init
to pull all submodules.