[roll third_party/pigweed] pw_router: Local per-packet parsers

This changes the StaticRouter API to take a PacketParser with each call
to RoutePacket rather than as a member. This PacketParser instance is
then forwarded to router egresses in place of the metadata struct (which
is removed altogether).

This has several benefits:

  1. Different formats of packets can be sent through the same router.
  2. No internal synchronization is required as there are no longer any
     shared resources.
  3. Users can forward custom data to router egresses instead of having
     to use the set of fields defined by the router.

Original-Requires: pigweed-internal:19780
Original-Requires: pigweed-internal:19781
Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/75960

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