commit | 68cbbdac35f0b11a23ff576b7731dd447c19844a | [log] [tgz] |
---|---|---|
author | pigweed-integration-roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com> | Fri Dec 24 20:58:23 2021 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Fri Dec 24 21:10:15 2021 +0000 |
tree | 23d7c68dbbe8f82927e26e90a18421d64833605b | |
parent | 19b595b6362a77b85b20f05ca4e82ea555621140 [diff] |
[roll third_party/pigweed] pw_protobuf: Support decoding from non-seekable Reader Allowing a StreamDecoder to operate on a non-seekable Reader means that protobuf messages can be decoded directly from a SocketStream and other similar streams. The previous requirement was to support skipping fields, and advancing to the end of nested length-delimited fields that were not fully read. Since this use is always forwards, it can be replaced in those streams by simply reading and discarding the data. For the requirement of maintaining the bounds of nested length-delimited fields, the decoder can maintain the position itself as it reads. StreamDecoder (and StreamDecoder::BytesReader) can still support seeking where the underlying stream supports it, updating the tracked position within the bounds of the field. Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/74721 https://pigweed.googlesource.com/pigweed/pigweed third_party/pigweed Rolled-Commits: 8d7280029d72cb8..a52946355d98485 Roller-URL: https://ci.chromium.org/b/8826931250252149985 Cq-Cl-Tag: roller-builder:pigweed-experimental-roller Cq-Cl-Tag: roller-bid:8826931250252149985 CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I120ea6fe5e998f60d3fdbf6ff95cb34fcb623d68 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/76341 Bot-Commit: 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.