commit | 6276a3236f72ab7abd30cd9bbbc486edb0998f82 | [log] [tgz] |
---|---|---|
author | pigweed-integration-roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com> | Tue Jul 13 17:39:02 2021 +0000 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Tue Jul 13 17:45:36 2021 +0000 |
tree | 82b2f277b98bc50a3608a6cd9376b81d589fdc38 | |
parent | 672f889ef8fecf78fd2d609294940172db434cb4 [diff] |
[roll third_party/pigweed] pw_ring_buffer: Add ring buffer iterator To support walking through the ring buffers in crash contexts, it's useful to have a mechanism that allows processing entries in the ring buffer without requiring buffer copies (in favor of raw access). This adds a new unsafe iteration class that can be used while the caller has a guarantee that the underlying buffer is not being mutated. The multisink is also updated to support this unsafe iteration by adding an oldest entry reader that is used as a reference point for the iterator class. This will additionally support late-drain attach flows where a drain may want to match the oldest entry available in the buffer, as opposed to the current logic that always starts it at the write index. Original-Bug: b/190547664 Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/50262 third_party/pigweed Rolled-Commits: 2d4fa78d91e9cb9..16541e7699118f3 Roller-URL: https://ci.chromium.org/b/8841801673210791616 Cq-Cl-Tag: roller-builder:pigweed-experimental-roller Cq-Cl-Tag: roller-bid:8841801673210791616 CQ-Do-Not-Cancel-Tryjobs: true Change-Id: I6aeea8aee0158646fbd7ee9d1b571018495b5804 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/52980 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.