[roll third_party/pigweed] pw_ring_buffer: Add late-reader/drain attach

Changes the default behavior of the ring buffer and multisink such that
late-attach of a Reader or Drain now places the object at the index of
the oldest entry in the buffer.

For Readers, the oldest entry corresponds to the slowest reader present.
If no readers are present, the Reader is placed at the write head. For
Drains, a lagging Reader is always present, so new Drains will always
point to the oldest valid entry in the buffer.

Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/53344

third_party/pigweed Rolled-Commits: 3eb97d4c0673aa1..099f716e17f2bb3
Roller-URL: https://ci.chromium.org/b/8841583511446873968
Cq-Cl-Tag: roller-builder:pigweed-experimental-roller
Cq-Cl-Tag: roller-bid:8841583511446873968
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I852d4f7fb9575288e20ed9a424f4d497ef92e731
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/53384
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>
1 file changed
tree: c337531a0ad1f17eb700f17ac624c778d163ee8a
  1. applications/
  2. build_overrides/
  3. pw_board_led/
  4. pw_board_led_arduino/
  5. pw_board_led_host/
  6. pw_board_led_stm32cubef4/
  7. pw_board_led_stm32f429i_disc1/
  8. pw_spin_delay/
  9. pw_spin_delay_arduino/
  10. pw_spin_delay_host/
  11. pw_spin_delay_stm32cubef4/
  12. pw_spin_delay_stm32f429i_disc1/
  13. pw_sys_io_stm32cubef4/
  14. targets/
  15. third_party/
  16. tools/
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. activate.bat
  22. banner.txt
  23. bootstrap.bat
  24. bootstrap.sh
  25. BUILD.gn
  26. BUILDCONFIG.gn
  27. env_setup.json
  28. navbar.md
  29. PW_PLUGINS
  30. README.md
README.md

Pigweed Experimental

This repository contains experimental pigweed modules.

Repository setup

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.