commit | 46f74e074f27392574e828ce36e8b9041095dc0a | [log] [tgz] |
---|---|---|
author | Alexei Frolov <frolv@google.com> | Tue Dec 21 12:34:25 2021 -0800 |
committer | CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Dec 22 22:32:44 2021 +0000 |
tree | 6daece65198847352817555bad3b64f92759fb2c | |
parent | b402c558ea6c2698559ffcd34ff4246eec55a04f [diff] |
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. Change-Id: I20ddb9af8b6e2ef71bd6f60f82b688fd4a8010e8 Requires: pigweed-internal:19780 Requires: pigweed-internal:19781 Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/75960 Reviewed-by: Armando Montanez <amontanez@google.com> Commit-Queue: Alexei Frolov <frolv@google.com>
Pigweed is an open source collection of embedded-targeted libraries–or as we like to call them, modules. These modules are building blocks and infrastructure that enable faster and more reliable development on small-footprint MMU-less 32-bit microcontrollers like the STMicroelectronics STM32L452 or the Nordic nRF52832.
For more information please see our website: https://pigweed.dev/